(57)【特許請求の範囲】
【請求項１】
製品の注文の内容を示す製品オーダと、
前記製品の生産または物流の過程で実行される処理である工程と、
前記工程で使用される人的資源および物的資源であるリソースと、
前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、
のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング装置であって、
前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録手段と、
前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記数理計画法による最適化計算を行うために用いられる目的関数と制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築手段と、
前記登録手段により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定手段と、
前記登録手段により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定手段と、
前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記制約式を定式化する制約式定式化手段と、
前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化する目的関数定式化手段と、
前記制約式定式化手段により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化手段により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成手段と、
を有することを特徴とするスケジューリング装置。
【請求項２】
前記登録手段は、
前記リソースの識別情報と、予め設定されている当該リソースの属性情報であって、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報と、を含むリソース情報の入力欄が少なくとも表示されるリソース登録画面を表示装置に表示するリソース登録画面表示手段をさらに有し、
前記リソース登録画面表示手段により表示されたリソース登録画面に対するユーザの操作に基づいて得られる前記リソース情報を記憶媒体に登録し、
前記制約式定式化手段は、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記制約式を定式化し、
前記目的関数定式化手段は、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記目的関数を定式化することを特徴とする請求項１に記載のスケジューリング装置。
【請求項３】
前記リソース登録画面表示手段は、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報の入力欄が、前記リソース登録画面に対するユーザの操作に基づいて前記リソース情報の入力欄に追加されたリソース登録画面を表示し、
前記構築手段は、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記数理計画法による最適化計算を行うために用いられる目的関数と当該目的関数に対する制約式を定式化する際に使用する定数として、前記リソース登録画面に追加された入力欄に入力された属性情報に基づく定数をさらに構築することを特徴とする請求項２に記載のスケジューリング装置。
【請求項４】
前記登録手段は、
前記品種の識別情報を含む品種情報の入力欄が少なくとも表示される品種登録画面を表示装置に表示する品種登録画面表示手段をさらに有し、
前記品種登録画面表示手段により表示された品種登録画面に対するユーザの操作に基づいて得られる前記品種情報を記憶媒体に登録することを特徴とする請求項２または３に記載のスケジューリング装置。
【請求項５】
前記登録手段により登録された品種に対して実行される工程のそれぞれを識別する情報と、当該工程のそれぞれの実行順と、当該工程のそれぞれで使用されるリソースと、を含む工程情報の入力欄が少なくとも表示される工程登録画面を表示装置に表示する工程登録画面表示手段を有し、
前記工程登録画面における前記リソースの入力欄は、前記登録手段により登録されたリソースの中から、前記工程のそれぞれで使用されるリソースが選択入力される欄であり、
前記登録手段は、前記工程登録画面表示手段により表示された工程登録画面に対するユーザの操作に基づいて得られる前記工程情報を記憶媒体に登録することを特徴とする請求項４に記載のスケジューリング装置。
【請求項６】
前記工程登録画面表示手段は、前記工程のそれぞれの属性情報の入力欄が、前記工程登録画面に対するユーザの操作に基づいて前記工程情報の入力欄に追加された工程登録画面を表示することを特徴とする請求項５に記載のスケジューリング装置。
【請求項７】
前記登録手段は、前記製品オーダの識別情報と、当該製品オーダが属する品種と、前記製品オーダにおける注文量と、前記製品オーダの納期と、を含む製品オーダ情報の入力欄が少なくとも表示される製品オーダ登録画面を表示装置に表示する製品オーダ登録画面表示手段をさらに有し、
前記製品オーダ登録画面における前記品種の入力欄は、前記登録手段により登録された品種の中から選択入力される欄であり、
前記登録手段は、前記製品オーダ登録画面表示手段により表示された製品オーダ登録画面に対するユーザの操作に基づいて得られる前記製品オーダ情報を記憶媒体に登録することを特徴とする請求項５または６に記載のスケジューリング装置。
【請求項８】
前記製品オーダ登録画面表示手段は、前記製品オーダのそれぞれの属性情報の入力欄が、前記製品オーダ登録画面に対するユーザの操作に基づいて前記製品オーダ情報の入力欄に追加された製品オーダ登録画面を表示することを特徴とする請求項７に記載のスケジューリング装置。
【請求項９】
前記制約式定式化手段は、
前記構築手段により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規制約設定画面を表示装置に表示する新規制約設定画面表示手段をさらに有し、
前記新規制約設定画面表示手段により表示された新規制約設定画面に対するユーザの操作に基づいて、制約式をさらに定式化することを特徴とする請求項１〜８の何れか１項に記載のスケジューリング装置。
【請求項１０】
前記目的関数定式化手段は、
前記構築手段により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規目的設定画面を表示装置に表示する新規目的設定画面表示手段をさらに有し、
前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、前記新規目的設定画面表示手段により表示された新規目的設定画面に対するユーザの操作に基づく目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化することを特徴とする請求項１〜９の何れか１項に記載のスケジューリング装置。
【請求項１１】
前記数理計画法は、混合整数計画法または混合整数２次計画法であることを特徴とする請求項１〜１０の何れか１項に記載のスケジューリング装置。
【請求項１２】
製品の注文の内容を示す製品オーダと、
前記製品の生産または物流の過程で実行される処理である工程と、
前記工程で使用される人的資源および物的資源であるリソースと、
前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、
のそれぞれの情報を用いて、生産計画または物流計画を数理計画法によりコンピュータで自動的に立案するスケジューリング方法であって、
前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、
前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記数理計画法による最適化計算を行うために用いられる目的関数と制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、
前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定工程と、
前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、
前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、
前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、
前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、
を有することを特徴とするスケジューリング方法。
【請求項１３】
前記登録工程は、
前記リソースの識別情報と、予め設定されている当該リソースの属性情報であって、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報と、を含むリソース情報の入力欄が少なくとも表示されるリソース登録画面を表示装置に表示するリソース登録画面表示工程をさらに有し、
前記リソース登録画面表示工程により表示されたリソース登録画面に対するユーザの操作に基づいて得られる前記リソース情報を記憶媒体に登録し、
前記制約式定式化工程は、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記制約式を定式化し、
前記目的関数定式化工程は、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記目的関数を定式化することを特徴とする請求項１２に記載のスケジューリング方法。
【請求項１４】
前記リソース登録画面表示工程は、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報の入力欄が、前記リソース登録画面に対するユーザの操作に基づいて前記リソース情報の入力欄に追加されたリソース登録画面を表示し、
前記構築工程は、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記数理計画法による最適化計算を行うために用いられる目的関数と当該目的関数に対する制約式を定式化する際に使用する定数として、前記リソース登録画面に追加された入力欄に入力された属性情報に基づく定数をさらに構築することを特徴とする請求項１３に記載のスケジューリング方法。
【請求項１５】
前記登録工程は、
前記品種の識別情報を含む品種情報の入力欄が少なくとも表示される品種登録画面を表示装置に表示する品種登録画面表示工程をさらに有し、
前記品種登録画面表示工程により表示された品種登録画面に対するユーザの操作に基づいて得られる前記品種情報を記憶媒体に登録することを特徴とする請求項１３または１４に記載のスケジューリング方法。
【請求項１６】
前記登録工程により登録された品種に対して実行される工程のそれぞれを識別する情報と、当該工程のそれぞれの実行順と、当該工程のそれぞれで使用されるリソースと、を含む工程情報の入力欄が少なくとも表示される工程登録画面を表示装置に表示する工程登録画面表示工程を有し、
前記工程登録画面における前記リソースの入力欄は、前記登録工程により登録されたリソースの中から、前記工程のそれぞれで使用されるリソースが選択入力される欄であり、
前記登録工程は、前記工程登録画面表示工程により表示された工程登録画面に対するユーザの操作に基づいて得られる前記工程情報を記憶媒体に登録することを特徴とする請求項１５に記載のスケジューリング方法。
【請求項１７】
前記工程登録画面表示工程は、前記工程のそれぞれの属性情報の入力欄が、前記工程登録画面に対するユーザの操作に基づいて前記工程情報の入力欄に追加された工程登録画面を表示することを特徴とする請求項１６に記載のスケジューリング方法。
【請求項１８】
前記登録工程は、前記製品オーダの識別情報と、当該製品オーダが属する品種と、前記製品オーダにおける注文量と、前記製品オーダの納期と、を含む製品オーダ情報の入力欄が少なくとも表示される製品オーダ登録画面を表示装置に表示する製品オーダ登録画面表示工程をさらに有し、
前記製品オーダ登録画面における前記品種の入力欄は、前記登録工程により登録された品種の中から選択入力される欄であり、
前記登録工程は、前記製品オーダ登録画面表示工程により表示された製品オーダ登録画面に対するユーザの操作に基づいて得られる前記製品オーダ情報を記憶媒体に登録することを特徴とする請求項１６または１７に記載のスケジューリング方法。
【請求項１９】
前記製品オーダ登録画面表示工程は、前記製品オーダのそれぞれの属性情報の入力欄が、前記製品オーダ登録画面に対するユーザの操作に基づいて前記製品オーダ情報の入力欄に追加された製品オーダ登録画面を表示することを特徴とする請求項１８に記載のスケジューリング方法。
【請求項２０】
前記制約式定式化工程は、
前記構築工程により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規制約設定画面を表示装置に表示する新規制約設定画面表示工程をさらに有し、
前記新規制約設定画面表示工程により表示された新規制約設定画面に対するユーザの操作に基づいて、新規の制約式を定式化することを特徴とする請求項１２〜１９の何れか１項に記載のスケジューリング方法。
【請求項２１】
前記目的関数定式化工程は、
前記構築工程により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規目的設定画面を表示装置に表示する新規目的設定画面表示工程をさらに有し、
前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、前記新規目的設定画面表示工程により表示された新規目的設定画面に対するユーザの操作に基づく目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化することを特徴とする請求項１２〜２０の何れか１項に記載のスケジューリング方法。
【請求項２２】
前記数理計画法は、混合整数計画法または混合整数２次計画法であることを特徴とする請求項１２〜２１の何れか１項に記載のスケジューリング方法。
【請求項２３】
請求項１〜１１の何れか１項に記載のスケジューリング装置の各手段としてコンピュータを機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリング装置、スケジューリング方法およびコンピュータプログラムに関し、特に、生産計画または物流計画を数理計画法により自動的に立案するために用いて好適なものである。
【背景技術】
【０００２】
製造業では、様々な工程で様々なリソースを用いて、原料から製品を製造することや、部品を組み立てて製品を作ること等が行われている。これらのリソースを有効に利用したり、在庫量を適正に調整したりするためには、生産計画、或いは物流計画を作成し、それに則った作業をすることが必須である。このことは、製造業のみならず、流通業等においても同様である。
しかしながら、製品の製造、或いは物流を行う現場では、多数の原材料、中間製品、製品が存在し、且つ、それらの加工や搬送等を行うためのリソースが複雑に関連し合っている。このため、考慮しなければならない制約が複雑になる。よって、例えば、在庫を適正に保ったり、納期に遅れずに製品を生産したりする生産計画、或いは物流計画を作成することは容易なことではない。
【０００３】
このような課題を解決する技術として、従来、人の考えた或るルール（例えば、納期の近い製品からまず製造を開始するというルール）をプログラムに書き換えて、自動で生産計画、或いは物流計画を作成するスケジューリング装置が開発されてきた。
このようなルールベースのスケジューリング装置では、複雑な問題であっても何かしらの計画を高速に立案することができる。しかしながら、数学的に本当に最適な計画が立案されているのかについて裏付けがないという問題や、ルールが非常に膨大になるという問題等がある。
【０００４】
そして、このようなルールベースのスケジューリング装置として、特許文献１に記載の技術がある。特許文献１には、各工程をリソースに仮割付けし、仮割付した結果から得られる一連の工程の終了時期と予定終了時期との差に応じた第１の尺度と、仮割付けしたリソースと工程との適合性を数値化した第２の尺度とを求めて、最良の割付け結果になるまで仮割付けを繰り返し修正する技術が開示されている。このように、特許文献１に記載の技術では、予め定めた尺度を元に、リソースに必要な工程を割りつける修正を繰り返す。このため、数学的に本当に最適な計画ができていることが保証されない。
【０００５】
そこで、これらを数学的に解決する手法として、数理計画法を用いて生産計画、或いは物流計画を作成するスケジューリング装置が開発されている。
数理計画法を使用すれば、数学的に最適性が保障された生産計画、或いは物流計画を立案することが可能である。しかしながら、この手法に則って生産計画、或いは物流計画を立案するためには、立案者が高度な数学的専門知識を有している必要がある。よって、一般の生産・物流を計画するユーザが、このような数理計画法を用いて生産計画、或いは物流計画を作成するスケジューリング装置を扱うことが困難な場合が多かった。
【０００６】
このため、高度な数学的専門知識を有しない一般のユーザであっても、生産計画、或いは物流計画を数理計画法に則った形で簡単に立案することができる仕組みの構築が求められている。
このような数理計画法を用いたスケジューリング装置として、特許文献２に記載の技術がある。特許文献２には、数理計画法により最適化計算を行って生産計画を立案した後に、当該生産計画における原材料と生産物との量的関係比を固定化した上で、原材料または生産物の量をＧＵＩ（Graphical User Interface）を用いて修正し、修正後の量と前記量的関係比により生産計画を再度立案することで、立案結果が大きく変更しない検証を可能とすることが開示されている。
しかしながら、特許文献２に記載の技術では、特定業務に特化された生産計画しか立案することができない。このため、特許文献２に記載の技術では、汎用的な生産計画、或いは物流計画を立案することができない。
【０００７】
数理計画法を用いて、数学的な手法に則って、汎用的な生産計画、或いは物流計画を立案する技術として、Paragon Decision Technology B.V.社によって開発されたAIMMSがある。かかる技術では、ＧＵＩを用いて数理計画用の変数をユーザが定義し、定義された変数を用いて目的関数および制約式を定式化することができる。
しかしながら、かかる技術では、数理計画法で使用する変数を、ユーザ自身が１つずつ入力し、制約式もユーザが１つずつ数式として記述していく必要がある。このため、数学的専門知識をもたない一般のユーザがかかる技術を簡単に使いこなすことはできない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平８−２１２２６４号公報
【特許文献２】特開２０００−２５４８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上のように従来の技術では、高度な数学的専門知識をもたない一般のユーザに対して、汎用的な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することが困難であった。
そこで、本発明は、高度な数学的専門知識をもたない一般のユーザに対して、従来よりも多様な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のスケジューリング装置は、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング装置であって、前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記数理計画法による最適化計算を行うために用いられる目的関数と制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定手段と、前記登録手段により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記制約式を定式化する制約式定式化手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化する目的関数定式化手段と、前記制約式定式化手段により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化手段により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成手段と、を有することを特徴とする。
【００１１】
本発明のスケジューリング方法は、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を１つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法によりコンピュータで自動的に立案するスケジューリング方法であって、前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、前記数理計画法による最適化計算を行うために用いられる目的関数と制約式を定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも１つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定工程と、前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、を有することを特徴とする。
【００１２】
本発明のコンピュータプログラムは、前記スケジューリング装置の各手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、工程を介して、リソースと工程、工程と品種、および品種と製品オーダをそれぞれ相互に関連付けて登録する。そして、品種、工程、およびリソースの識別情報の少なくとも１つを入力するための選択入力欄への識別情報の入力操作に基づいて制約式の内容を設定する。また、品種および工程の識別情報と、目的関数による目的とを入力するための選択入力欄への識別情報と目的の入力操作に基づいて、目的関数の内容を設定する。したがって、高度な数学的専門知識をもたない一般のユーザに対して、従来よりも多様な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】スケジューリング装置の機能的な構成の一例を示す図である。
【図２】リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
【図３Ａ】リソース登録画面の初期状態の一例を示す図である。
【図３Ｂ】リソースの初期の属性が入力されたリソース登録画面の一例を示す図である。
【図３Ｃ】リソースの初期の属性とユーザにより追加された属性とが入力されたリソース登録画面の一例を示す図である。
【図４Ａ】品種登録画面の初期状態の一例を示す図である。
【図４Ｂ】品種情報が入力された品種登録画面の一例を示す図である。
【図５Ａ】工程登録画面の初期状態の一例を示す図である。
【図５Ｂ】名称が「通常操業」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。
【図５Ｃ】名称が「特殊操業１」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。
【図６Ａ】製品オーダ登録画面の初期状態の一例を示す図である。
【図６Ｂ】製品オーダ情報が入力された製品オーダ登録画面の一例を示す図である。
【図７Ａ】リソース同時利用制約設定画面の初期状態の一例を示す図である。
【図７Ｂ】リソース同時利用制約の情報が入力されたリソース同時利用制約設定画面の一例を示す図である。
【図８Ａ】リソース利用パターン制約設定画面の初期状態の一例を示す図である。
【図８Ｂ】リソース利用パターン制約の情報が入力されたリソース利用パターン制約設定画面の一例を示す図である。
【図９Ａ】リソース利用パターン処理時間制約設定画面の初期状態の一例を示す図である。
【図９Ｂ】リソース利用パターン制約の情報が入力されたリソース利用パターン処理時間制約設定画面の一例を示す図である。
【図１０Ａ】同一ロット制約設定画面の初期状態の一例を示す図である。
【図１０Ｂ】同一ロット制約の情報が入力された同一ロット制約設定画面の一例を示す図である。
【図１１Ａ】異ロット制約設定画面の初期状態の一例を示す図である。
【図１１Ｂ】異ロット制約の情報が入力された異ロット制約設定画面の一例を示す図である。
【図１２Ａ】リソース稼働制約設定画面の初期状態の一例を示す図である。
【図１２Ｂ】リソース稼働制約の情報が入力されたリソース稼働制約設定画面の一例を示す図である。
【図１３Ａ】リソース最大能力制約設定画面の初期状態の一例を示す図である。
【図１３Ｂ】リソース最大能力制約の情報が入力されたリソース最大能力制約設定画面の一例を示す図である。
【図１４Ａ】新規制約設定画面の初期状態の一例を示す図である。
【図１４Ｂ】新規制約の情報が入力された新規制約設定画面の一例を示す図である。
【図１５】目的設定画面の一例を示す図である。
【図１６Ａ】新規目的設定画面の初期状態の一例を示す図である。
【図１６Ｂ】新規目的の情報が入力された新規目的設定画面の一例を示す図である。
【図１７−１】スケジューリング装置の処理動作の一例を説明するフローチャートである。
【図１７−２】図１７−１に続くフローチャートである。
【図１７−３】図１７−２に続くフローチャートである。
【図１７−４】図１７−３に続くフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、本発明の一実施形態を説明する。
図１は、スケジューリング装置１００の機能的な構成の一例を示す図である。尚、図１に示すスケジューリング装置１００は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤおよび各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
本実施形態のスケジューリング装置１００は、ユーザによる入力装置の操作に基づいて入力された情報を用いて、目的関数および制約式を設定し、数理計画法を用いて目的関数の最適値を算出し、算出した結果から、生産計画を立案し、その結果をユーザに提示するものである。特に、本実施形態では、目的関数および制約式の設定に必要な情報を、高度な数学的専門知識をもたない一般のユーザであっても入力することができるようにする。
【００１６】
スケジューリング装置１００が有する機能を説明する前に、以下の説明で表記する「リソース、品種、工程、製品オーダ」の概要について説明する。
図２は、リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
本実施形態では、リソースと、品種と、工程と、製品オーダとが、ユーザによる入力装置の操作に基づいてスケジューリング装置１００に入力され、登録される。
リソースとは、製品の生産や物流を行うための各工程で使用される人的資源および物的資源の総称であり、目的関数および制約式の少なくとも何れか一方で「定数」となる情報が、その属性として含まれる（図３の「最大能力」、「最小利用間隔」、「使用開始可能日」を参照）。物的資源は、例えば、加工や搬送等を行う機械・設備や、原材料・中間製品・製品の置場であり、生産計画や物流計画の分野で一般的に扱われるあらゆる物的資源を含む。人的資源は、例えば、作業員であり、生産計画や物流計画の分野で一般的に扱われるあらゆる人的資源を含む。
品種とは、製品オーダ（注文）に含まれる製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースとを１つのまとまりとして他と区別するための識別情報である（図４、図５を参照）。製品オーダは、この品種の何れかに属することになる（図６を参照）。
【００１７】
本実施形態では、後述するように、各工程で使用されるリソースが登録され（図５を参照）、各品種で実行される工程が登録され（図５を参照）、製品オーダに対して品種が登録される（図６を参照）。よって、図２に示すように、リソースと工程、工程と品種、および品種と製品オーダがそれぞれ相互に関連付けられる。すなわち、リソース、品種、工程および製品オーダは、相互に関連付けられて登録される。リソース、品種、工程および製品オーダの入力・登録方法の一例の詳細については、図３〜図６を参照しながら後述する。
以下に、スケジューリング装置１００が有する機能の一例を詳細に説明する。
【００１８】
（リソース入力登録部１０１）
リソース入力登録部１０１は、まず、リソース登録画面を表示装置に表示する。
図３は、リソース登録画面３００の一例を示す図である。具体的に、図３Ａは、リソース登録画面３００の初期状態の一例を示す図である。図３Ｂは、リソースの初期の属性（予め設定された属性）が入力されたリソース登録画面３００の一例を示す図である。図３Ｃは、リソースの初期の属性とユーザにより新規に追加された属性とが入力されたリソース登録画面３００の一例を示す図である。
【００１９】
図３において、リソース登録画面３００は、ＧＵＩであり、リソース入力欄３０１と、登録ボタン３０２と、追加ボタン３０３と、削除ボタン３０４とを有する。
リソース登録画面３００は、リソースを識別するリソース名と、そのリソース名で識別されるリソースの属性とを登録するための画面である。
図３Ａおよび図３Ｂに示すように、本実施形態では、リソースの初期の属性は、「リソース名」と、「最大能力」と、「最小利用間隔」である。
「リソース名」は、登録対象のリソースの名称を意味する。本実施形態では、例えば、「リソース名」の文字が表示されている列に、リソース名をテキスト入力することが可能となっている。
「最大能力」は、登録対象のリソースの最大能力を意味する。本実施形態では、例えば、「最大能力」の文字が表示されている列に、リソースが単位時間当たりに処理できる個数［個／ｍｉｎ］の値（数字）を、最大能力として入力することが可能となっている。
「最小利用間隔」は、登録対象のリソースの使用が終了した後に確保しなければならない時間を意味する。本実施形態では、例えば、「最小利用間隔」の文字が表示されている列に、この時間［ｍｉｎ］の値（数字）を、最小利用間隔として入力することが可能となっている。
【００２０】
図３Ｃに示すリソース登録画面３００の２行目では、「リソース名」が「機械１」であり、「最大能力」が「１［個／ｍｉｎ］」であり、「最小利用間隔」が「０．３［ｍｉｎ］」であり、「使用開始可能日」が「２０１１年１２月１０日」であることを示すリソース情報が入力された状態を示している。
【００２１】
ユーザが、入力装置を操作して、リソース登録画面３００のリソース入力欄３０１の特定の行または列を指定した状態で追加ボタン３０３を押下すると、指定した行または列の次の行または列が追加される。
例えば、図３Ｂに示すリソース入力欄３０１の「最小利用間隔」が示されている列を指定した状態で追加ボタン３０３が押下されると、「最小利用間隔」が示されている列の次に空欄の列が１列追加される。図３Ｃに示すリソース登録画面３００では、この列に、リソースの属性として、「使用開始可能日」が追加された状態を示している。
「使用開始可能日」とは、登録対象のリソースを使用することが可能になる最初の年月日を意味する。本実施形態のリソース登録画面３００では、例えば、「使用開始可能日」の文字が表示されている列に、この年月日の値（数字）を、使用開始可能日として入力することが可能となっている（図３Ｃを参照）。
また、「リソース名」、「最大能力」が示されている列を指定した状態で追加ボタン３０３が押下されると、それぞれ「リソース名」と「最大能力」との間、「最大能力」と「最小利用間隔」との間に空欄の列が１列追加される。
以上のようにすることにより、リソースの属性を追加することができる。
【００２２】
また、「機械１」が示されている行を指定した状態で追加ボタン３０３が押下されると、「機械１」と「機械２」との間に空欄の行が１列追加される。同様に、「機械Ｌ」が示されている行を指定した状態で追加ボタン３０３が押下されると、「機械Ｌ」が示されている行の次に空欄の行が１行追加される。このようにすることにより、リソース（の項目）を追加することができる。
【００２３】
また、ユーザが、入力装置を操作して、リソース登録画面３００のリソース入力欄３０１の特定の行または列を指定した状態で削除ボタン３０４を押下すると、指定した行または列が削除される。
例えば、図３Ｃに示すリソース入力欄３０１の「使用開始可能日」が示されている列を指定した状態で削除ボタン３０４が押下されると、「使用開始可能日」が示されている列が削除される。このようにすることにより、リソースの属性を削除することができる。ただし、本実施形態では、初期の属性（「最大能力」および「最小利用間隔」）については削除することができないようにしている。尚、初期の属性を削除することができるようにしてもよいということは勿論である。
また、例えば、図３Ｃに示すリソース入力欄３０１の「機械Ｌ」が示されている行を指定した状態で削除ボタン３０４が押下されると、「機械Ｌ」が示されている行が削除される。このようにすることにより、リソース（の項目）を削除することができる。ただし、本実施形態では、初期状態で表示される入力欄（図３Ａの空欄）については削除することができないようにしている。
【００２４】
以上のようにして、リソース登録画面３００のリソース入力欄３０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン３０２が押下されると、リソース入力登録部１０１は、登録ボタン３０２が押下されたときに、リソース入力欄３０１に入力されている内容を記憶媒体に記憶する。
このようにして登録されたリソースの属性である「最大能力」および「最小利用間隔」は、後述する制約式における定数として自動的に設定され（（４）式、（１０）式を参照）。また、「使用開始可能日」は、後述する目的関数における定数として自動的に設定されるものである（（１１）式を参照）。
【００２５】
リソース入力登録部１０１は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じたリソース登録画面３００を表示するための表示データを生成して、表示装置に出力すると共に、リソース情報をＨＤＤ等に記憶することにより実現される。
【００２６】
（品種入力登録部１０２）
品種入力登録部１０２は、まず、品種登録画面を表示装置に表示する。
図４は、品種登録画面４００の一例を示す図である。具体的に図４Ａは、品種登録画面４００の初期状態の一例を示す図である。図４Ｂは、品種情報が入力された品種登録画面４００の一例を示す図である。
図４において、品種登録画面４００は、ＧＵＩであり、品種入力欄４０１と、登録ボタン４０２と、追加ボタン４０３と、削除ボタン４０４とを有する。
品種登録画面４００は、品種の名称を登録するための画面である。図４Ｂでは、「品種」の名称として、「通常操業」、「特殊操業１」、・・・「特殊操業Ｍ」が入力された状態を示している。
本実施形態の品種登録画面４００では、例えば、「品種」の文字が表示されている列に、品種の名称をテキスト入力することが可能となっている。
【００２７】
ユーザが、入力装置を操作して、品種登録画面４００の品種入力欄４０１の特定の行を指定した状態で追加ボタン４０３を押下すると、指定された行の次の行に空欄の行が１行追加される。このようにすることにより、品種を追加することができる。
また、ユーザが、入力装置を操作して、品種登録画面４００の品種入力欄４０１の特定の行を指定した状態で削除ボタン４０４を押下すると、指定された行が１行削除される。このようにすることにより、品種を削除することができる。
【００２８】
以上のようにして、品種登録画面４００の品種入力欄４０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン３０２が押下されると、品種入力登録部１０２は、登録ボタン４０２が押下されたときに、品種入力欄４０１に入力されている内容を記憶媒体に記憶する。尚、この時点では、品種情報は、他の情報と相互に関連付けられていない。
【００２９】
品種入力登録部１０２は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じた品種登録画面４００を表示するための表示データを生成して、表示装置に出力すると共に、品種情報をＨＤＤ等に記憶することにより実現される。
【００３０】
（工程入力登録部１０３）
工程入力登録部１０３は、まず、工程登録画面を表示装置に表示する。
図５は、工程登録画面５００の一例を示す図である。具体的に、図５Ａは、工程登録画面５００の初期状態の一例を示す図である。図５Ｂは、名称が「通常操業」である品種で実行される工程に係る工程情報が入力された工程登録画面５００の一例を示す図である。図５Ｃは、名称が「特殊操業１」である品種で実行される工程に係る工程情報が入力された工程登録画面５００の一例を示す図である。
図５において、工程登録画面５００は、ＧＵＩであり、工程入力欄５０１と、登録ボタン５０２と、追加ボタン５０３と、削除ボタン５０４とを有する。
工程登録画面５００は、工程の属性を品種毎に登録するための画面である。
【００３１】
本実施形態の工程登録画面５００では、品種入力登録部１０２で登録された「品種」の名称が、各工程登録画面５００のタブに表示されるようにしている。図５Ａ〜図５Ｃの工程登録画面５００に表示されているタブのうち、ハッチングされていないタブに対する入力操作が有効となる。例えば、ユーザが入力装置を操作して、図５Ａ、図５Ｂに示す工程登録画面５００の「『特殊操業１』の文字が示されているタブ」を押下すると、図５Ｃに示す工程登録画面５００が表示される。そして、本実施形態では、それぞれの工程登録画面５００に、以下のようにして工程情報を入力し登録することにより、各品種で実行される工程に係る工程情報が登録されようにしている。工程登録画面５００の内容を以下に説明する。
【００３２】
図５Ａ〜図５Ｃに示すように、本実施形態では、工程の初期の属性は、「工程順」と、「工程名」と、「最小時間」と、「最大時間」と、「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」である。
「工程順」は、登録対象の工程が属する品種における当該工程の実行順を意味する。本実施形態では、「工程順」の最初の入力欄には「１」が自動的に表示される。以降、上の行から順番に整数が昇順に自動的に採番（表示）される。
「工程名」は、登録対象の工程の名称を意味する。本実施形態では、例えば、「工程名」の文字が表示されている列に、工程名をテキスト入力することが可能となっている。
【００３３】
「最小時間」は、登録対象の工程に、原材料、中間製品および製品が留まることができる時間の最小値［ｈｏｕｒ］を示す。本実施形態では、例えば、「最小時間」の文字が表示されている列に、この値（数字）を最小時間として入力することが可能となっている。
「最大時間」は、登録対象の工程に、原材料、中間製品および製品が留まることができる時間の最大値［ｈｏｕｒ］を示す。本実施形態では、例えば、「最大時間」の文字が表示されている列に、この値（数字）を最大時間として入力することが可能となっている。
【００３４】
「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」は、リソース入力登録部１０１により登録されたリソース名を示す（図３を参照）。本実施形態では、例えば、「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」の文字が表示されている列に、「主」、「副」または「空欄」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ここで、「主」とは、登録対象の工程で使用される主要なリソースを示す。「副」とは、登録対象の工程で使用される副次的なリソースを示す。「空欄」は、登録対象の工程では、当該空欄となっている「リソース名（「機械１」、「機械２」、・・・「機械Ｌ−１」、「機械Ｌ」）」のリソースは使用されないことを示す。
【００３５】
図５Ｃに示す工程登録画面５００の最下行では、名称が「特殊操業１」の品種で使用される工程のうち「工程順」が「Ｐ」番目である工程の「工程名」は「組立」であり、当該工程の「最小時間」は「１．０［ｈｏｕｒ］」であり、当該工程の「最大時間」は「１．２［ｈｏｕｒ］」であることを示し、且つ、当該工程で使用されるリソースは「機械Ｌ−１」と「機械Ｌ」であり、「機械Ｌ−１」が主要なリソースとして使用され、「機械Ｌ」が副次的なリソースとして使用されることを示す工程情報が入力された状態を示す。
【００３６】
ユーザが、入力装置を操作して、工程登録画面５００の工程入力欄５０１の特定の行または列を指定した状態で追加ボタン５０３を押下すると、指定した行または列の次の行または列が追加される。これにより、工程の属性の追加や工程の数の追加を行うことができる。
また、ユーザが、入力装置を操作して、工程登録画面５００の工程入力欄５０１の特定の行または列を指定した状態で削除ボタン５０４を押下すると、指定した行または列が削除される。これにより、工程の属性の削除や工程の数の削除を行うことができる。ただし、本実施形態では、初期の属性とリソースの入力欄（リソース名（「機械１」、「機械２」、・・・「機械Ｌ−１」、「機械Ｌ」）の欄）については削除することができないようにしている。初期の属性を削除することができるようにしてもよいということは勿論である。
尚、これらの行または列の追加および削除の方法は、図３に示したリソース登録画面３００で説明した方法と同じであるので、ここではその詳細な説明を省略する。
【００３７】
以上のようにして、工程登録画面５００の全ての品種について、工程入力欄５０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン５０２が押下されると、工程入力登録部１０３は、登録ボタン５０２が押下されたときに、各品種について工程入力欄５０１に入力されている内容を記憶媒体に記憶する。例えば、工程入力登録部１０３は、工程入力欄５０１の各行に登録されている「『工程順』、『処理量』、『最小時間』、『最大時間』および『リソース（機械１、機械２、・・・機械Ｌ）』」を相互に関連付けた情報を製品オーダ情報として記憶する。
以上のように、この工程登録画面５００を用いることにより、工程を介して品種とリソースとが相互に関連付けられることになる（図２を参照）。
【００３８】
工程入力登録部１０３は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じた工程登録画面５００を表示するための表示データを生成して表示装置に出力すると共に、工程情報をＨＤＤ等に記憶することにより実現される。
【００３９】
（製品オーダ入力登録部１０４）
製品オーダ入力登録部１０４は、まず、製品オーダ登録画面を表示装置に表示する。
図６は、製品オーダ登録画面６００の一例を示す図である。具体的に図６Ａは、製品オーダ登録画面６００の初期状態の一例を示す図である。図６Ｂは、製品オーダ情報が入力された製品オーダ登録画面６００の一例を示す図である。
図６において、製品オーダ登録画面６００は、ＧＵＩであり、製品オーダ入力欄６０１と、登録ボタン６０２と、追加ボタン６０３と、削除ボタン６０４とを有する。
製品オーダ登録画面６００は、各製品オーダの属性を登録するための画面である。
【００４０】
図６に示すように、本実施形態では、製品オーダの初期の属性は、「オーダ番号」、「名称」、「ロット」、「品種」、「処理量」、「納期」および「納期遅れ許容量」である。
「オーダ番号」は、登録対象の製品オーダの識別番号である。本実施形態では、製品オーダ入力欄６０１の「オーダ番号」の最初の入力欄には「００００１」が自動的に表示される。以降、上の行から順番に整数が昇順に自動的に採番（表示）される。
「名称」は、登録対象の製品オーダの名称を意味する。本実施形態では、例えば、製品オーダ入力欄６０１の「名称」の文字が表示されている列に、製品オーダの名称をテキスト入力することが可能となっている。
「ロット」は、登録対象の製品オーダが属するロットの識別情報を意味する。本実施形態では、例えば、製品オーダ入力欄６０１「ロット」の文字が表示されている列に、この識別情報として数字およびアルファベットを入力することが可能となっている。
【００４１】
「品種」は、品種入力登録部１０２で登録された「品種」の名称を意味する（図４を参照）。本実施形態では、例えば、製品オーダ入力欄６０１の「品種」の文字が表示されている列に、これらの品種の名称の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
「処理量」は、登録対象の製品オーダの量を意味する。本実施形態では、例えば、製品オーダ入力欄６０１の「処理量」の文字が表示されている列に、例えば、この量［ｔｏｎ］の値（数字）を、処理量として入力することが可能となっている。
「納期」は、登録対象の製品オーダの納期を意味する。本実施形態では、例えば、製品オーダ入力欄６０１の「納期」の文字が表示されている列に、この年月日（数字）を納期として入力することが可能となっている。
「納期遅れ許容量」とは、登録対象の製品オーダの納期に対して遅れても許容される日数を意味する。本実施形態では、例えば、製品オーダ入力欄６０１の「納期遅れ許容量」の文字が表示されている列に、この日数（数字）を、納期遅れ許容量として入力することが可能となっている。
【００４２】
図６Ｂに示す製品オーダ登録画面６００の２行目では、「オーダ番号」が「００００１」であり、名称が「Ａ社向け１」であり、属する「ロット」の識別情報が「Ｌ００１」であり、属する「品種」が「通常操業」であり、「処理量」が「５．０［ｔｏｎ］」であり、「納期」が「２０１１年１２月１０日」であり、「納期遅れ許容量」が「３［日］」であることを示す製品オーダ情報が入力された状態を示す。
【００４３】
ユーザが、入力装置を操作して、製品オーダ登録画面６００の製品オーダ入力欄６０１の特定の行または列を指定した状態で追加ボタン６０３を押下すると、指定した行または列の次の行または列が追加される。これにより、製品オーダの属性の追加や製品オーダの数の追加を行うことができる。
また、ユーザが、入力装置を操作して、製品オーダ登録画面６００の製品オーダ入力欄６０１の特定の行または列を指定した状態で削除ボタン６０４を押下すると、指定した行または列が削除される。これにより、製品オーダの属性の削除や製品オーダの数の削除を行うことができる。ただし、本実施形態では、初期の属性については削除することができないようにしている。初期の属性を削除することができるようにしてもよいということは勿論である。
尚、これらの行または列の追加および削除の方法は、図３に示したリソース登録画面３００で説明した方法と同じであるので、ここではその詳細な説明を省略する。
【００４４】
以上のようにして、製品オーダ登録画面６００における製品オーダ入力欄６０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン６０２が押下されると、製品オーダ入力登録部１０４は、登録ボタン６０２が押下されたときに、製品オーダ入力欄６０１に入力されている内容を記憶媒体に記憶する。例えば、製品オーダ入力登録部１０４は、製品オーダ入力欄６０１の各行に登録されている「『オーダ番号』、『名称』、『ロット』、『品種』、『処理量』、『納期』および『納期遅れ許容量』」を相互に関連付けた情報を製品オーダ情報として記憶する。
【００４５】
製品オーダ入力登録部１０４は、例えば、ＣＰＵが、ユーザによる入力操作の内容に応じた製品オーダ登録画面６００を表示するための表示データを生成して、表示装置に出力すると共に、製品オーダ情報をＨＤＤ等に記憶することにより実現される。
【００４６】
以上のように、この製品オーダ登録画面６００を用いることにより、製品オーダと品種とが相互に関連付けられることになる（図２を参照）。前述したように、工程登録画面５００を用いることにより、工程を介して品種とリソースとが相互に関連付けられる。したがって、品種を介して工程と製品オーダが相互に関連付けられる。よって、リソース、品種、工程および製品オーダは、相互に関連付けられて登録される。
【００４７】
（変数・定数構築部１０５）
変数・定数構築部１０５は、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を自動的に構築する。
本実施形態では、決定変数として、以下の（ａ）〜（ｃ）に示す変数を構築する。
（ａ）開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名
（ｂ）使用可否オータ゛番号,工程名,リソース名
（ｃ）前後判断オータ゛番号, オータ゛番号,工程名,リソース名
開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名は、オーダ番号別・工程名別・リソース名別の開始時刻、終了時刻である。
使用可否オータ゛番号,工程名,リソース名は、０−１変数である。使用可否オータ゛番号,工程名,リソース名の値が「１」であることは、「オーダ番号」の製品オーダに対し「工程名」の工程を実行するときには「リソース名」のリソースが使用されることを示し、「０」であることは、そのようなリソースが使用されないことを示す。
前後判断オータ゛番号1,オータ゛番号2,工程名,リソース名は、０−１変数である。前後判断オータ゛番号1,オータ゛番号2,工程名,リソース名の値が「１」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号２」の製品オーダよりも先に「オーダ番号１」の製品オーダに対して使用されることを示す。一方、この値が「０」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号２」の製品オーダよりも後に「オーダ番号１」の製品オーダに対して使用されることを示す。尚、２つの製品オーダのうち予めどちらの製品オーダを先に実行させたいかを決めておく場合には、それら２つの製品オーダに対応する「前後判断オータ゛番号, オータ゛番号,工程名,リソース名」の値を「０」又は「１」とする制約を設けることができる。
【００４８】
ここで、前記（ａ）の変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）の構築方法の一例を説明する。
まず、変数・定数構築部１０５は、製品オーダ入力登録部１０４で登録された「各オーダ番号の製品オーダ情報」から「品種」を抽出し（図６を参照）、工程入力登録部１０３で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する（図５を参照）。
次に、変数・定数構築部１０５は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に関連付けられて登録されている「工程名」別、当該オーダ番号に関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の開始時刻と終了時刻を決定変数として構築する。
【００４９】
本実施形態では、例えば、以下の決定変数が構築される。
開始時刻00001,加工,機械1、終了時刻00001,加工,機械1
開始時刻00001,加工,機械2、終了時刻00001,加工,機械2
開始時刻00001,待チ,機械1、終了時刻00001,待チ,機械1
開始時刻00001,待チ,機械2、終了時刻00001,待チ,機械2
・・・
開始時刻00001,組立,機械1、終了時刻00001,組立,機械1
開始時刻00001,組立,機械L-1、終了時刻00001,組立,機械L-1
開始時刻00001,組立,機械L、終了時刻00001,組立,機械L
【００５０】
開始時刻00002,加工,機械1、終了時刻00002,加工,機械1
開始時刻00002,加工,機械2、終了時刻00002,加工,機械2
開始時刻00002,待チ,機械1、終了時刻00002,待チ,機械1
開始時刻00002,待チ,機械2、終了時刻00002,待チ,機械2
・・・
開始時刻00002,組立,機械1、終了時刻00002,組立,機械1
開始時刻00002,組立,機械L-1、終了時刻00002,組立,機械L-1
開始時刻00002,組立,機械L、終了時刻00002,組立,機械L
・・・
【００５１】
開始時刻0000N,加工,機械1、終了時刻0000N加工,機械1
開始時刻0000N,待チ,機械L-1、終了時刻0000N,待チ,機械L-1
・・・
開始時刻0000N,組立,機械L-1、終了時刻0000N,組立,機械L-1
開始時刻0000N,組立,機械L、終了時刻0000N,組立,機械L
【００５２】
前記（ｂ）の変数（使用可否オータ゛番号,工程名,リソース名）の構築方法の一例を説明する。
まず、変数・定数構築部１０５は、製品オーダ入力登録部１０４で登録された「各オーダ番号の製品オーダ情報」から「品種」を抽出し（図６を参照）、工程入力登録部１０３で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する（図５を参照）。
次に、変数・定数構築部１０５は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に関連付けられて登録されている「工程名」別、当該オーダ番号に関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の使用可否を決定変数として構築する。
【００５３】
本実施形態では、例えば、以下の決定変数が構築される。
使用可否00001,加工,機械1
使用可否00001,加工,機械2
使用可否00001,待チ,機械1
使用可否00001,待チ,機械2
・・・
使用可否00001,組立,機械1
使用可否00001,組立,機械L-1
使用可否00001,組立,機械L
【００５４】
使用可否00002,加工,機械1
使用可否00002,加工,機械2
使用可否00002,待チ,機械1
使用可否00002,待チ,機械2
・・・
使用可否00002,組立,機械1
使用可否00002,組立,機械L-1
使用可否00002,組立,機械L
・・・
【００５５】
使用可否0000N,加工,機械1
使用可否0000N,待チ,機械L-1
・・・
使用可否0000N,組立,機械L-1
使用可否0000N,組立,機械L
【００５６】
次に、前記（ｃ）の変数（前後判断オータ゛番号, オータ゛番号,工程名,リソース名）の構築方法の一例を説明する。
まず、変数・定数構築部１０５は、製品オーダ入力登録部１０４で登録された「各オーダ番号の製品オーダ情報」から「品種」を抽出し（図６を参照）、工程入力登録部１０３で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する（図５を参照）。
次に、変数・定数構築部１０５は、以上のようにして抽出した結果に基づいて、異なる２つの製品オーダの「オーダ番号」別、当該オーダ番号に関連付けられて登録されている「工程名」別、当該オーダ番号に関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の前後判断を決定変数として構築する。
【００５７】
本実施形態では、例えば、以下の決定変数が構築される。
前後判断00001,00002,加工,機械1
前後判断00001,00002,加工,機械2
前後判断00001,00002,待チ,機械1
前後判断00001,00002,待チ,機械2
・・・
前後判断00001,00002,組立,機械1
前後判断00001,00002,組立,機械L-1
前後判断00001,00002,組立,機械L
・・・
【００５８】
前後判断00001,0000N,加工,機械1
前後判断00001,0000N,加工,機械2
前後判断00001,0000N,待チ,機械1
前後判断00001,0000N,待チ,機械2
・・・
前後判断00001,0000N,組立,機械1
前後判断00001,0000N,組立,機械L-1
前後判断00001,0000N,組立,機械L
・・・
【００５９】
前後判断0000(N-1),0000N,加工,機械1
前後判断0000(N-1),0000N,加工,機械2
前後判断0000(N-1),0000N,待チ,機械1
前後判断0000(N-1),0000N,待チ,機械2
・・・
前後判断0000(N-1),0000N,組立,機械1
前後判断0000(N-1),0000N,組立,機械L-1
前後判断0000(N-1),0000N,組立,機械L
【００６０】
以上のようにして決定変数の構築が終了した後、変数・定数構築部１０５は、リソース、品種、工程および製品オーダの属性として新たに登録された属性を定数として自動的に構築する。
図３Ｃに示す例では、リソースの属性として、「使用開始可能日」が新たに設定された。そこで、変数・定数構築部１０５は、以下の（ｄ）に示す定数を構築する。
（ｄ）使用開始可能日リソース名
使用開始可能日リソース名は、リソース名別の使用開始可能日である。
本実施形態では、例えば、以下の定数が構築される。
使用開始可能日機械1＝２０１１／１２／１０
使用開始可能日機械2＝２０１１／１２／７
・・・
使用開始可能日機械L＝２０１１／１２／１２
【００６１】
変数・定数構築部１０５は、例えば、ＣＰＵが、ＨＤＤ等から、製品オーダ情報と工程情報とを読み出して、前述した変数および定数を作成し、そのデータをＲＡＭ等に記憶することにより実現される。
【００６２】
（制約条件入力設定部１０６）
本実施形態では、後述するように、「品種、工程、およびリソース」の少なくとも１つを用いて記述される制約を、数理計画法に則って定式化した制約式が使用される。
そこで、制約条件入力設定部１０６は、この制約の内容を、前述したようにして相互に関連付けられた「品種、工程、およびリソース」の識別情報の少なくとも１つの選択入力欄を用いて表記された制約式の内容が少なくとも表示される制約設定画面を表示する。そして、制約条件入力設定部１０６は、この制約設定画面の選択入力欄に対してユーザにより選択入力された結果に基づいて、制約の内容を設定する。本実施形態では、以下の（Ａ）〜（Ｇ）の制約条件が設定される。以下に、制約条件入力設定部１０６で登録される制約条件の一例について説明する。
【００６３】
（Ａ）リソース同時利用制約
制約条件入力設定部１０６は、図７に示すリソース同時利用制約設定画面７００を表示装置に表示する。図７Ａは、リソース同時利用制約設定画面７００の初期状態の一例を示す図である。図７Ｂは、リソース同時利用制約の情報が入力されたリソース同時利用制約設定画面７００の一例を示す図である。
図７において、リソース同時利用制約設定画面７００は、ＧＵＩであり、制約条件入力欄７０１と、登録ボタン７０２と、同制約追加ボタン７０３と、次制約追加ボタン７０４と、削除ボタン７０５とを有する。
図７に示す制約条件入力欄７０１には、「制約名（「制約１−※」）」で識別される１つのリソース同時利用制約に属する複数の品種を識別するための「品種」と、それぞれの「品種」が通過する工程を識別するための「工程名」と、それぞれの「品種」が通過する工程で使用されるリソースを識別するための「リソース名」の入力欄が設けられる。
この制約条件入力欄７０１への入力により、或る「品種」が或る「工程（工程名）」を通過する際に使用される「リソース（リソース名）」と、その他の１又は複数の「品種」が或る「工程（工程名）」を通過する際に使用される「リソース（リソース名）」とを、同時期（時間的に重なる期間）に使用することができないことを表すリソース同時利用制約（「制約名（「制約１−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００６４】
制約条件入力欄７０１に表示される「制約名」は、リソース同時利用制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約１−１」が自動的に表示される。以降、「制約１−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される（「制約１−１」、「制約１−２」・・・）。
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
例えば、図５Ｂに示す工程登録画面５００において、「通常操業」で使用される、「工程名」が「加工」である工程では、「リソース名」が「機械１」および「機械２」であるリソースが使用されることになる（すなわち、主要なリソースまたは副次的なリソースとして登録されている）。この場合、制約条件入力欄７０１の「品種」として「通常操業」が選択入力され、「工程名」として「加工」が選択入力された場合には、「リソース名」として、「機械１」および「機械２」の何れかのみを選択入力することが可能なプルダウンメニューが表示される。同様に図５Ｃに示す工程登録画面５００において、「特殊操業１」で使用される「工程名」が「加工」である工程では、「リソース名」が「機械１」であるリソースが使用されることになる。この場合、制約条件入力欄７０１の「品種」として「特殊操業１」が選択入力され、「工程名」として「加工」が選択入力された場合には、「リソース名」として、「機械１」のみを選択入力することが可能なプルダウンメニューが表示される。
【００６５】
図７Ｂに示すリソース同時利用制約設定画面７００では、例えば、名称が「制約１−１」のリソース同時利用制約として、「通常操業」における「加工」と、「特殊操業１」における「加工」に対し、「機械１」を同時に使用することができないことを示すリソース同時利用制約が設定される。尚、図７Ｂにおいて、「機械１」は、複数の製品オーダに対し同時に使用することができるリソースであることから、リソース同時利用制約の設定を行うことができる。
【００６６】
ユーザが、入力装置を操作して、リソース同時利用制約設定画面７００の制約条件入力欄７０１の「制約１−＊」内の特定の行を指定した状態で同制約追加ボタン７０３を押下すると、指定した行の次の行に空欄の行が１行追加される。例えば、制約条件入力欄７０１の「制約１−１」内の２行目の行を指定した状態で同制約追加ボタン７０３が１回押下されることにより、「制約１−１」の選択入力欄の行数は、現在値である「２」から「３」に変更される。このようにすることにより、リソース同時利用制約の成立条件を増やすことができる。
【００６７】
また、ユーザが、入力装置を操作して、リソース同時利用制約設定画面７００の制約条件入力欄７０１の１番左の列の領域を指定した状態で次制約追加ボタン７０４を押下すると、その領域の次の行に、空欄の選択入力欄が１つ追加される。このようにすることにより、リソース同時利用制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース同時利用制約設定画面７００の制約条件入力欄７０１の「制約１−＊」内の特定の行を指定した状態で削除ボタン７０５を押下すると、指定した行が削除される。
また、ユーザが、入力装置を操作して、リソース同時利用制約設定画面７００の制約条件入力欄７０１の１番左の列の２行目以降の領域（「制約１−＊」）を指定した状態で削除ボタン７０５を押下すると、指定した領域（「制約１−＊」）の選択入力欄（の全て）が削除される。例えば、図７Ｂに示す状態で、１番左の列の「制約１−２」の領域を指定した状態で削除ボタン７０５を押下した場合は、「制約１−２」に対する選択入力欄の全てが削除される。
【００６８】
以上のようにして、リソース同時利用制約設定画面７００の制約条件入力欄７０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン７０２が押下されると、制約条件入力設定部１０６は、登録ボタン７０２が押下されたときに、制約条件入力欄７０１に入力されている内容を記憶媒体に記憶する。
【００６９】
（Ｂ）リソース利用パターン制約
制約条件入力設定部１０６は、図８に示すリソース利用パターン制約設定画面８００を表示装置に表示する。図８Ａは、リソース利用パターン制約設定画面８００の初期状態の一例を示す図である。図８Ｂは、リソース利用パターン制約の情報が入力されたリソース利用パターン制約設定画面８００の一例を示す図である。
図８において、リソース利用パターン制約設定画面８００は、ＧＵＩであり、制約条件入力欄８０１と、登録ボタン８０２と、同制約追加ボタン８０３と、次制約追加ボタン８０４と、削除ボタン８０５とを有する。
【００７０】
図８に示す制約条件入力欄８０１には、「制約名（「制約２−＊」）」で識別されるリソース利用パターン制約に属する品種を識別するための「品種」と、その「品種」における「条件」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」と、その「条件」に対する「結果」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」の入力欄が設けられる。
この制約条件入力欄８０１への入力により、或る「品種」において、或る「工程（工程名）」を通過するときに或る「リソース（リソース名）」が使用されるという「条件」がある場合には、その「品種」が特定の「工程（工程名）」を通過する際には特定の「リソース（リソース名）」を使用しなければならないという「結果」が得られなければならないことを表すリソース利用パターン制約（「制約名（「制約２−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００７１】
制約条件入力欄８０１に表示される「制約名」は、リソース利用パターン制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約２−１」が自動的に表示される。以降、「制約２−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
【００７２】
図８Ｂに示すリソース利用パターン制約設定画面８００では、名称が「制約２−１」のリソース利用パターン制約として、「通常操業」で「加工」に「機械１」を使用した場合には、「通常操業」では「待ち」および「組立」に「機械１」を使用しなければならないことを示すリソース利用パターン制約が設定される。
【００７３】
ユーザが、入力装置を操作して、リソース利用パターン制約設定画面８００の制約条件入力欄８０１の「制約２−＊」内の特定の行を指定した状態で同制約追加ボタン８０３を押下すると、指定した行の次の行に空欄の行が１行追加される。このようにすることにより、リソース利用パターン制約の成立条件を増やすことができる。
また、ユーザが、入力装置を操作して、リソース利用パターン制約設定画面８００の制約条件入力欄８０１の１番左の列の領域を指定した状態で次制約追加ボタン８０４を押下すると、その領域の次の行に、空欄の選択入力欄が１つ追加される。このようにすることにより、リソース利用パターン制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース利用パターン制約設定画面８００の制約条件入力欄８０１の「制約２−＊」内の特定の行を指定した状態で削除ボタン８０５を押下すると、指定した行が削除される。
また、ユーザが、入力装置を操作して、リソース利用パターン制約設定画面８００の制約条件入力欄８０１の１番左の列の２行目以降の領域（「制約２−＊」）を指定した状態で削除ボタン８０５を押下すると、指定した領域（「制約２−＊」）の選択入力欄（の全て）が削除される。
【００７４】
以上のようにして、リソース利用パターン制約設定画面８００の制約条件入力欄８０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン８０２が押下されると、制約条件入力設定部１０６は、登録ボタン８０２が押下されたときに、制約条件入力欄８０１に入力されている内容を記憶媒体に記憶する。
【００７５】
（Ｃ）リソース利用パターン処理時間制約
制約条件入力設定部１０６は、図９に示すリソース利用パターン処理時間制約設定画面９００を表示装置に表示する。図９Ａは、リソース利用パターン処理時間制約設定画面９００の初期状態の一例を示す図である。図９Ｂは、リソース利用パターン制約の情報が入力されたリソース利用パターン処理時間制約設定画面９００の一例を示す図である。
図９において、リソース利用パターン処理時間制約設定画面９００は、ＧＵＩであり、制約条件入力欄９０１と、登録ボタン９０２と、追加ボタン９０３と、削除ボタン９０４とを有する。
図９に示す制約条件入力欄９０１には、「制約名（「制約３−＊」）」で識別されるリソース利用パターン処理時間制約に属する品種を識別するための「品種」と、その「品種」における「条件」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」と、その「条件」に対する「結果」に対応する「工程」および「使用時間」を識別するための「工程名」および「使用時間」の入力欄が設けられる。
この制約条件入力欄９０１への入力により、或る「品種」において、或る「工程（工程名）」を通過する際に「リソース（リソース名）」が使用されるという「条件」がある場合には、その「品種」における特定の「工程（工程名）」の「使用時間」が制限されるという「結果」が得られなければならないことを表すリソース利用パターン処理時間制約（「制約名（「制約３−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００７６】
制約条件入力欄９０１に表示される「制約名」は、リソース利用パターン処理時間制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約３−１」が自動的に表示される。以降、「制約３−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
また、「使用時間」の文字が表示されている列には、前述した「使用時間」の値（数字）を入力することが可能になっている。尚、或る「品種」の或る「工程名」に対する「使用時間」は、当該「品種」の当該「工程名」に対して登録された「最小時間」以上「最大時間」以下の範囲内で入力される（「最小時間」、「最大時間」については、図５を参照）。
【００７７】
図９Ｂに示すリソース利用パターン処理時間制約設定画面９００では、例えば、名称が「制約３−１」のリソース利用パターン処理時間制約として、「通常操業」で「加工」に「機械１」を使用した場合には、「通常操業」における「加工」の「使用時間」が１．８［ｈｏｕｒ］に制限されることを示すリソース利用パターン処理時間制約が設定される。
【００７８】
ユーザが、入力装置を操作して、リソース利用パターン処理時間制約設定画面９００の制約条件入力欄９０１の特定の行を指定した状態で追加ボタン９０３を押下すると、指定した行の次の行に、空欄の入力欄が１つ追加される。このようにすることにより、リソース利用パターン処理時間制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース利用パターン処理時間制約設定画面９００の制約条件入力欄９０１の特定の行を指定した状態で削除ボタン９０４を押下すると、指定された行の入力欄（の全て）が削除される。
【００７９】
以上のようにして、リソース利用パターン処理時間制約設定画面９００の制約条件入力欄９０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン９０２が押下されると、制約条件入力設定部１０６は、登録ボタン９０２が押下されたときに、制約条件入力欄９０１に入力されている内容を記憶媒体に記憶する。
【００８０】
（Ｄ）同一ロット制約
制約条件入力設定部１０６は、図１０に示す同一ロット制約設定画面１０００を表示装置に表示する。図１０Ａは、同一ロット制約設定画面１０００の初期状態の一例を示す図である。図１０Ｂは、同一ロット制約の情報が入力された同一ロット制約設定画面１０００の一例を示す図である。
図１０において、同一ロット制約設定画面１０００は、ＧＵＩであり、制約条件入力欄１００１と、登録ボタン１００２と、追加ボタン１００３と、削除ボタン１００４とを有する。
【００８１】
同一ロット制約設定画面１０００の初期状態は、制約条件入力欄１００１の入力項目（「制約名」、「品種」、「工程名」、「前工程連結タイプ」、「待ち時間」の文字が表示されている領域）と、最初の入力欄（「制約４−１」に対する入力欄）と、登録ボタン１００２と、追加ボタン１００３と、削除ボタン１００４とが表示された状態となる。ここで、ロットとは、複数の製品オーダの纏まりであり、このロットの単位で製品オーダの製造が実施される。同一のロットには同じ品種の製品オーダが属することになる。
【００８２】
図１０に示す制約条件入力欄１００１には、「制約名（「制約４−＊」）」で識別される同一ロット制約に属する品種を識別するための「品種」と、その「品種」が通過する「工程」を識別するための「工程名」と、当該「工程」を通過するときの当該「品種」に属する２つの製品オーダの時間的な前後関係を規定する「前工程連結タイプ」と、当該２つの製品オーダのうち時間的に後に当該「工程」を通過する製品オーダの「待ち時間」の入力欄が設けられる。
この制約条件入力欄１００１への入力により、或る「品種」に属する時間的に前後する２つの製品オーダのうち、時間的に後に「工程（工程名）」を通過する製品オーダについては、「待ち時間」だけ待ってから「前工程連結タイプ」で示される関係で当該「工程（工程名）」を通過しなれなければならないという同一ロット制約（「制約名（「制約４−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００８３】
制約条件入力欄１００１に表示される「制約名」は、同一ロット制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約４−１」が自動的に表示される。以降、「制約４−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「品種」、「工程名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」を選択入力することができないようになっている。そして、「工程名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』」は、相互に関連付けられて登録されたものとなる。
【００８４】
「前工程連結タイプ」とは、「工程名」の入力欄に入力された工程において時間的に連続して実行される「同一のロット内の２つの『製品オーダ』」のうち、当該工程が先に実行されるものと、後に実行されるものとの、当該工程における時間的な関係を示すものである。本実施形態では、予め設定されているものの中から「前工程連結タイプ」を選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。尚、以下の説明では、前記「後に実行される製品オーダ」を必要に応じて「自オーダ」と称し、前記「先に実行される製品オーダ」を必要に応じて「前オーダ」と称する。
【００８５】
本実施形態では、「前工程連結タイプ」として「（前）終了時（自）開始」と「（前）開始時（自）開始」が予め設定されている。「（前）終了時（自）開始」とは、前オーダの最後の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が終了した後に自オーダの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。「（前）開始時（自）開始」とは、前オーダの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が開始した後に自オーダの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。
「待ち時間」の文字が表示されている列には、前オーダに対する自オーダの待ち時間の値（数字）を入力することが可能になっている。
【００８６】
図１０Ｂに示す同一ロット制約設定画面１０００では、例えば、名称が「制約４−１」の同一ロット制約として、同一のロットに属する品種が「通常操業」であり、当該ロットに属する前オーダと自オーダにおいて「組立」が行われる場合には、前オーダの最後の原材料・中間製品の「組立」が終了したらすぐに（０［ｍｉｎ］後に）、自オーダの最初の原材料・中間製品の「組立」を開始することを示す同一ロット制約が設定される（「制約名（「制約４−１」）」）。また、名称が「制約４−２」の同一ロット制約として、同一のロットに属する品種が「特殊操業１」であり、当該ロットに属する前オーダと自オーダにおいて「組立」が行われる場合には、前オーダの最後の原材料・中間製品の「組立」が終了したらすぐに（０［ｍｉｎ］後に）、自オーダの最初の原材料・中間製品の「組立」を開始することを示す同一ロット制約が設定される（（「制約名（「制約４−２」）」））。
【００８７】
ユーザが、入力装置を操作して、同一ロット制約設定画面１０００の制約条件入力欄１００１の「制約４−＊」内の特定の行を指定した状態で追加ボタン１００３を押下すると、指定した行の次の行に空欄の行が１行追加される。このようにすることにより、同一ロット制約を追加することができる。
また、ユーザが、入力装置を操作して、同一ロット制約設定画面１０００の制約条件入力欄１００１の特定の行を指定した状態で削除ボタン１００４を押下すると、指定した行の入力欄（の全て）が削除される。
【００８８】
以上のようにして、同一ロット制約設定画面１０００の制約条件入力欄１００１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１００２が押下されると、制約条件入力設定部１０６は、登録ボタン１００２が押下されたときに、制約条件入力欄１００１に入力されている内容を記憶媒体に記憶する。
【００８９】
（Ｅ）異ロット制約
制約条件入力設定部１０６は、図１１に示す異ロット制約設定画面１１００を表示装置に表示する。図１１Ａは、異ロット制約設定画面１１００の初期状態の一例を示す図である。図１１Ｂは、異ロット制約の情報が入力された異ロット制約設定画面１１００の一例を示す図である。
図１１において、異ロット制約設定画面１１００は、ＧＵＩであり、制約条件入力欄１１０１と、登録ボタン１１０２と、同制約追加ボタン１１０３と、次制約追加ボタン１１０４と、削除ボタン１１０５とを有する。
【００９０】
図１１に示す制約条件入力欄１１０１には、「制約名（「制約５−＊」）」で識別される異ロット制約に属する複数の品種を識別するための「品種」と、それらの「品種」が通過する「工程」をそれぞれ識別する「工程名」と、それらの「工程」を通過するときの当該「品種」に属する２つのロットの時間的な前後関係をそれぞれ規定する「前工程連結タイプ」と、当該２つのロットのうち時間的に後に当該「工程」を通過するロットの「待ち時間」の入力欄が設けられる。
この制約条件入力欄１１０１への入力により、同種または異種の「品種」に属する時間的に前後する２つのロットのうち、時間的に後に「工程（工程名）」を通過するロットについては、「待ち時間」だけ待ってから「前工程連結タイプ」で示される関係で当該「工程（工程名）」を通過しなければならないという異ロット制約（「制約名（「制約５−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【００９１】
制約条件入力欄１１０１に表示される「制約名」は、異ロット制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約５−１」が自動的に表示される。以降、「制約５−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「品種」、「工程名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」（の名称）、「工程名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」を選択入力することができないようになっている。そして、「工程名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』」は、相互に関連付けられて登録されたものとなる。
【００９２】
「前工程連結タイプ」とは、「工程名」の入力欄に入力された工程において時間的に連続して実行される２つロットのうち、当該工程が先に実行されるロットと、後に実行されるロットとの、当該工程における時間的な関係を示すものである。本実施形態では、予め設定されているものの中から「前工程連結タイプ」を選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。尚、以下の説明では、前記「後に実行されるロット」を必要に応じて「自ロット」と称し、前記「先に実行されるロット」を必要に応じて「前ロット」と称する。
【００９３】
本実施形態では、「前工程連結タイプ」として「（前）終了時（自）開始」と「（前）開始時（自）開始」が予め設定されている。「（前）終了時（自）開始」とは、前ロットの最後の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が終了した後に、自ロットの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。「（前）開始時（自）開始」とは、前ロットの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が開始した後に、自ロットの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。
「待ち時間」の文字が表示されている列には、前ロットに対する自ロットの待ち時間の値（数字）を入力することが可能になっている。
【００９４】
図１１Ｂに示す異ロット制約設定画面１１００では、名称が「制約５−１」のリソース利用パターン制約として、以下の第１〜第４の異ロット制約が設定される。
第１に、前ロットが属する品種が「通常操業」であり、自ロットが属する品種が「通常操業」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから１．５［ｍｉｎ］後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。
第２に、前ロットが属する品種が「通常操業」であり、自ロットが属する品種が「特殊操業１」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから２．０［ｍｉｎ］後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。このように、前ロットと自ロットが属する品種が異なる場合には、自ロットに対して設定されている「待ち時間」の値が採用される。
第３に、前ロットが属する品種が「特殊操業１」であり、自ロットが属する品種が「特殊操業１」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから２．０［ｍｉｎ］後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。
第４に、前ロットが属する品種が「特殊操業１」であり、自ロットが属する品種が「通常操業」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから１．５［ｍｉｎ］後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。
【００９５】
ユーザが、入力装置を操作して、異ロット制約設定画面１１００の制約条件入力欄１１０１の「制約５−＊」内の特定の行を指定した状態で同制約追加ボタン１１０３を押下すると、指定した行の次の行に空欄の行が１行追加される。このようにすることにより、異ロット制約の成立条件を増やすことができる。
また、ユーザが、入力装置を操作して、異ロット制約設定画面１１００の制約条件入力欄１１０１の１番左の列の領域を指定した状態で次制約追加ボタン１１０４を押下すると、その領域の次の行に、空欄の入力欄が１つ追加される。このようにすることにより、異ロット制約を追加することができる。
また、ユーザが、入力装置を操作して、異ロット制約設定画面１１００の制約条件入力欄１１０１の「制約５−＊」内の特定の行を指定した状態で削除ボタン１１０５を押下すると、指定した行が削除される。
また、ユーザが、入力装置を操作して、異ロット制約設定画面１１００の制約条件入力欄１１０１の１番左の列の２行目以降の領域（「制約５−＊」）を指定した状態で削除ボタン１１０５を押下すると、指定した領域領域（「制約５−＊」）の選択入力欄（の全て）が削除される。
【００９６】
以上のようにして、異ロット制約設定画面１１００の制約条件入力欄１１０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１１０２が押下されると、制約条件入力設定部１０６は、登録ボタン１１０２が押下されたときに、制約条件入力欄１１０１に入力されている内容を記憶媒体に記憶する。
【００９７】
（Ｆ）リソース稼働制約
制約条件入力設定部１０６は、図１２に示すリソース稼働制約設定画面１２００を表示装置に表示する。図１２Ａは、リソース稼働制約設定画面１２００の初期状態の一例を示す図である。図１２Ｂは、リソース稼働制約の情報が入力されたリソース稼働制約設定画面１２００の一例を示す図である。
図１２において、リソース稼働制約設定画面１２００は、ＧＵＩであり、制約条件入力欄１２０１と、登録ボタン１２０２と、追加ボタン１２０３と、削除ボタン１２０４とを有する。
【００９８】
リソース稼働制約設定画面１２００の初期状態は、制約条件入力欄１２０１の入力項目（「制約名」、「リソース名」、「開始日時」、「終了日時」、「能力」の文字が表示されている領域）と、最初の入力欄（「制約６−１」に対する入力欄）と、登録ボタン１２０２と、追加ボタン１２０３と、削除ボタン１２０４とが表示された状態となる。リソース稼働制約設定画面１２００の初期状態では、最初の入力欄は全て空欄となっている。
【００９９】
図１２に示す制約条件入力欄１２０１には、「制約名（「制約６−＊」）」で識別されるリソース稼働制約に属する「リソース」を識別するための「リソース名」と、その「リソース」の「能力」の制限の「開始日時」および「終了日時」と、その制限されたときの「能力（最大能力に対する倍率）」の入力欄が設けられる。
この制約条件入力欄１２０１への入力により、「リソース（リソース名）」の「開始日時」から「終了日時」までの期間における制限された「能力」を示すリソース稼働制約（「制約名（「制約６−＊」）」）を登録することができる。以下に、各欄の詳細について説明する。
【０１００】
制約条件入力欄１２０１に表示される「制約名」は、リソース稼働制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約６−１」が自動的に表示される。以降、「制約６−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
「開始日時」とは、リソースの能力の制限を開始するタイミングを意味する。本実施形態では、例えば、「開始日時」の文字が表示されている列に、このタイミングを表す日時（数字）を開始日時として入力することが可能となっている。
「終了日時」とは、リソースの能力の制限を終了するタイミングを意味する。本実施形態では、例えば、「終了日時」の文字が表示されている列に、このタイミングを表す日時（数字）を終了日時として入力することが可能となっている。
「能力」とは、リソースの能力が制限される期間における当該リソースの能力を意味する。本実施形態では、例えば、最大能力に対する倍率（数字）を能力として入力することが可能となっている。
【０１０１】
図１２Ｂに示すリソース稼働制約設定画面１２００では、例えば、名称が「制約６−１」のリソース稼働制約として、２０１１年１０月２３日９時３０分から２０１１年１０月２４日８時３０分のまでの間は、リソース名が「機械１」のリソースは、その最大能力の０．７倍の能力で使用しなければならないというリソース稼働制約が設定される。
【０１０２】
ユーザが、入力装置を操作して、リソース稼働制約設定画面１２００の制約条件入力欄１２０１の特定の行を指定した状態で追加ボタン１２０３を押下すると、指定した行の次の行に、空欄の入力欄が１つ追加される。このようにすることにより、リソース稼働制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース稼働制約設定画面１２００の制約条件入力欄１２０１の特定の行を指定した状態で削除ボタン１２０４を押下すると、指定された行の入力欄（の全て）が削除される。
【０１０３】
以上のようにして、リソース稼働制約設定画面１２００の制約条件入力欄１２０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１２０２が押下されると、制約条件入力設定部１０６は、登録ボタン１２０２が押下されたときに、制約条件入力欄１２０１に入力されている内容を記憶媒体に記憶する。
【０１０４】
（Ｇ）リソース最大能力制約
制約条件入力設定部１０６は、図１３に示すリソース最大能力制約設定画面１３００を表示装置に表示する。図１３Ａは、リソース最大能力制約設定画面１３００の初期状態の一例を示す図である。図１３Ｂは、リソース最大能力制約の情報が入力されたリソース最大能力制約設定画面１３００の一例を示す図である。
図１３において、リソース最大能力制約設定画面１３００は、ＧＵＩであり、制約条件入力欄１３０１と、登録ボタン１３０２と、追加ボタン１３０３と、削除ボタン１３０４とを有する。
リソース最大能力制約設定画面１３００の初期状態は、制約条件入力欄１３０１の入力項目（「制約名」、「リソース名」、「開始日時」、「終了日時」の文字が表示されている領域）と、最初の入力欄（「制約７−１」に対する入力欄）と、登録ボタン１３０２と、追加ボタン１３０３と、削除ボタン１３０４とが表示された状態となる。リソース最大能力制約設定画面１３００の初期状態では、最初の入力欄は全て空欄となっている。
【０１０５】
図１３に示す制約条件入力欄１３０１には、「制約名（「制約７−＊」）」で識別されるリソース最大能力制約に属する「リソース」を識別するための「リソース名」と、その「リソース」の最大能力での使用の「開始日時」および「終了日時」の入力欄が設けられる。
この制約条件入力欄１３０１への入力により、「リソース（リソース名）」を、その最大能力で使用することができる期間（「開始日時」から「終了日時」までの期間）を示すリソース最大能力制約（「制約名（「制約７−＊」）」）を登録することができる。
尚、前述した（Ｆ）のリソース稼働制約では、リソースを使えない期間、或いは、リソースの能力を落とす期間を指定するのに対し、（Ｇ）のリソース最大能力制約とは、最大能力を使用することができるリソースと、その最大能力で使用することができる期間を指定するものである。以下に、各欄の詳細について説明する。
【０１０６】
制約条件入力欄１３０１に表示される「制約名」は、リソース最大能力制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約７−１」が自動的に表示される。以降、「制約７−＊」の語の＊の部分に、上の行から順番に整数が昇順に自動的に採番（表示）される。
「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
「開始日時」とは、リソースの最大能力の使用を開始するタイミングを意味する。本実施形態では、例えば、「開始日時」の文字が表示されている列に、このタイミングを表す日時（数字）を開始日時として入力することが可能となっている。
「終了日時」とは、リソースの最大能力の使用を終了するタイミングを意味する。本実施形態では、例えば、「終了日時」の文字が表示されている列に、このタイミングを表す日時（数字）を終了日時として入力することが可能となっている。
【０１０７】
図１３に示すリソース最大能力制約設定画面１３００では、例えば、名称が「制約７−１」のリソース最大能力制約として、２０１１年１０月２３日９時３０分から２０１１年１０月２４日８時３０分のまでの間は、リソース名が「機械Ｌ−１」のリソースを、その最大能力で使用することができるというリソース最大能力制約が設定される。
【０１０８】
ユーザが、入力装置を操作して、リソース最大能力制約設定画面１３００の制約条件入力欄１３０１の特定の行を指定した状態で追加ボタン１３０３を押下すると、指定した行の次の行に、空欄の入力欄が１つ追加される。このようにすることにより、リソース最大能力制約を追加することができる。
また、ユーザが、入力装置を操作して、リソース最大能力制約設定画面１３００の制約条件入力欄１３０１の特定の行を指定した状態で削除ボタン１３０４を押下すると、指定された行の入力欄（の全て）が削除される。
【０１０９】
以上のようにして、リソース最大能力制約設定画面１３００の制約条件入力欄１３０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１３０２が押下されると、制約条件入力設定部１０６は、登録ボタン１３０２が押下されたときに、制約条件入力欄１３０１に入力されている内容を記憶媒体に記憶する。
【０１１０】
（Ｈ）新規制約
以上の（Ａ）〜（Ｇ）の制約は、ユーザによって入力される以外の部分は予め定まっている制約である。本実施形態では、これらの制約に加えて、新規の制約条件を設定することができるようにしている。そこで、制約条件入力設定部１０６は、図１４に示す新規制約設定画面１４００を表示装置に表示する。図１４Ａは、新規制約設定画面１４００の初期状態の一例を示す図である。図１４Ｂは、新規制約の情報が入力された新規制約設定画面１４００の一例を示す図である。
図１４において、新規制約設定画面１４００は、ＧＵＩであり、変数名リスト１４０１と、定数名リスト１４０２と、演算子リスト１４０３と、新規登録制約入力欄１４０４と、登録ボタン１４０５と、追加ボタン１４０６と、削除ボタン１４０７と、登録不要ボタン１４０８とを有する。
【０１１１】
図１４に示す新規制約設定画面１４００では、変数を選択するための「変数名リスト１４０１」と、定数を選択するための「定数名リスト１４０２」と、演算子を選択するための演算子リスト１４０３と、それらの選択により定式化された制約式を表示する新規登録制約入力欄１４０４とが設けられる。
これらへの入力により、「変数（変数名リスト）」と「定数（定数名リスト）」とを「演算子」を用いてオペレータが自由に定式化した制約式を、「新規制約（新規登録制約）」として登録することができる。以下に、各欄の詳細について説明する。
【０１１２】
変数名リスト１４０１には、変数・定数構築部１０５により構築された変数が列挙される。全ての変数が列挙されない場合には、変数名リスト１４０１にスクロールバーを表示することにより、変数をスクロール表示することが可能である。
定数名リスト１４０２には、変数・定数構築部１０５により構築された定数が列挙される。全ての定数が列挙されない場合には、定数名リスト１４０２にスクロールバーを表示することにより、定数をスクロール表示することが可能である。
演算子リスト１４０３には、数理計画法に則って定式化する際に使用される演算子が列挙される。全ての演算子が列挙されない場合には、演算子リスト１４０３にスクロールバーを表示することにより、演算子をスクロール表示することが可能である。尚、本実施形態では、数理計画法として混合整数計画法（線形計画法）を利用する場合を例に挙げて示すので、混合整数計画法（線形計画法）に則って定式化する際に使用される演算子が列挙される。
新規登録制約入力欄１４０４には、変数名リスト１４０１に表示されている変数、定数名リスト１４０２に表示されている定数、演算子リスト１４０３に表示されている演算子の中からユーザが入力装置を操作することにより選択したものが、選択順に、図面に向かって左側から表示される。また、新規登録制約入力欄１４０４には、ユーザが入力装置を操作することにより、数字を入力することができる。図１４Ｂに示す例では、まず、変数名リスト１４０１から「終了時刻0000N,組立,機械1」が表示されている領域が指定され、次に、演算子リスト１４０３から「−」が表示されている領域が指定され、次に、変数名リスト１４０１から「開始時刻00001,組立,機械1」が表示されている領域が指定され、次に、演算子リスト１４０３から「≦」が表示されている領域が指定され、最後に、「０．５」が入力されることにより、新規登録制約の最初の入力欄（番号「１」の入力欄）の制約式が表示される。
【０１１３】
ユーザが、入力装置を操作して、新規制約設定画面１４００の新規登録制約入力欄１４０４の特定の行（左端に数字が付されている行）を指定した状態で追加ボタン１４０６を押下すると、指定された行の次の行に、空欄の入力欄が１つ追加される。このようにすることにより、新規制約を追加することができる。
また、ユーザが、入力装置を操作して、新規制約設定画面１４００の新規登録制約入力欄１４０４の特定の行（左端に数字が付されている行）を指定した状態で削除ボタン１４０７を押下すると、指定された行の入力欄（の全て）が削除される。
【０１１４】
以上のようにして、新規制約設定画面１４００の新規登録制約入力欄１４０４に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１４０５が押下されると、制約条件入力設定部１０６は、登録ボタン１４０５が押下されたときに、新規登録制約入力欄１４０４に入力されている内容を記憶媒体に記憶する。
また、新規制約を登録しない場合には、ユーザは、入力装置を操作して、登録不要ボタン１４０８を押下する。このようにすることより、新規制約を登録しないようにすることができる。
【０１１５】
制約条件入力設定部１０６は、例えば、ＣＰＵが、ＨＤＤ等から工程情報および製品オーダ情報を読み出すと共に、ＲＡＭ等から変数および定数を読み出して、リソース同時利用制約設定画面７００、リソース利用パターン制約設定画面８００、リソース利用パターン処理時間制約設定画面９００、同一ロット制約設定画面１０００、異ロット制約設定画面１１００、リソース稼働制約設定画面１２００、リソース最大能力制約設定画面１３００および新規制約設定画面１４００を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる制約をＲＡＭ等に記憶することにより実現される。
【０１１６】
（目的関数入力設定部１０７）
図１５は、目的設定画面１５００の一例を示す図である。目的関数入力設定部１０７は、図１５に示す目的設定画面１５００を表示装置に表示する。尚、目的設定画面１５００の初期状態は、図１５に示すチェックボックスと、「重要度（０〜１０）」の文字が示されている領域の列の行が全て未入力の状態となる。
図１５において、目的設定画面１５００は、ＧＵＩであり、目的関数入力欄１５０１と、登録ボタン１５０２とを有する。
【０１１７】
目的関数入力欄１５０１に表示される「関数番号」は、目的関数の識別情報である。予め設定されている数（目的関数の数）の関数番号が「００００１」から昇順に目的関数入力欄１５０１に表示されている。
「有効要否」は、目的関数入力欄１５０１の各行における目的関数を採用するかどうかを示す情報である。本実施形態では、チェックボックスにチェックを入れることにより、当該チェックボックスのある行の情報で特定される目的が採用されるようにしている。
「品種」と「工程」の文字が表示されている列には、前述したようにして相互に関連付けられて登録された品種および工程の組合せの全てが表示される。
「目的」の文字が表示されている列には、設定対象の目的がどのような目的であるのかを示す文字が表示されている。この「目的」の内容は、前述した各画面３００、５００、６００、７００、８００、９００、１０００、１１００、１２００、１３００での初期属性として登録されているものを基に、予め設定されている。
「重要度」は、設定対象の目的の重要度を示すものである。「重要度」の文字が表示されている列には、この重要度の値として「０」〜「１０」の何れかの整数を入力することが可能になっている。
尚、目的関数入力欄１５０１に、全ての目的の情報を一度に表示することが出来ない場合には、スクロール表示を行うようにすることができる。
【０１１８】
ユーザは、入力装置を操作して、所望の目的に対応する「有効要否」のチェックボックスをチェックすると共に、「重要度」の欄に重要度の値を入力する。
以上のようにして、目的設定画面１５００の目的関数入力欄１５０１に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン１５０２が押下されると、目的関数入力設定部１０７は、登録ボタン１５０２が押下されたときに、目的関数入力欄１５０１に入力されている内容を記憶媒体に記憶する。図１５に示す目的設定画面１５００では、「通常操業」で実行される「加工」の「処理時間最小」を目的とすることと、「特殊操業１」で実行される「組立」の「納期遵守」を目的とすることとが採用される。
以上のように、本実施形態では、目的設定画面１５００の目的関数入力欄１５０１により、相互に関連付けられている品種および工程と、目的の内容を示す文字と、目的の重要度と、を用いて表記された目的関数の内容と、その内容の選択入力欄（チェックボックス）と、が少なくとも表示され、表示された情報の中から、ユーザが所望する情報を選択することにより、設定すべき目的の内容が選択されるようにしている。尚、かかる選択入力欄は、チェックボックスに限定されるものではない。
【０１１９】
図１５に示す目的設定画面１５００の目的関数入力欄１５０１に表示される情報は、予め定まっている目的である。本実施形態では、これらの目的に加えて、新規の目的を設定することができるようにしている。そこで、目的関数入力設定部１０７は、前述したようにして構築された「変数および定数」の選択欄と、演算子の選択欄と、選択された「変数、定数および演算子」の組み合わせからなる目的関数の一部の式の表示欄とを含む新規目的設定画面を表示する。
【０１２０】
具体的に、目的関数入力設定部１０７は、図１６に示す新規目的設定画面１６００を表示装置に表示する。図１６Ａは、新規目的設定画面１６００の初期状態の一例を示す図である。図１６Ｂは、新規目的の情報が入力された新規目的設定画面１６００の一例を示す図である。
図１６において、新規目的設定画面１６００は、ＧＵＩであり、変数の選択欄に対応する変数名リスト１６０１と、定数の選択欄に対応する定数名リスト１６０２と、演算子の選択欄に対応する演算子リスト１６０３と、新規登録目的入力欄１６０４と、登録ボタン１６０５と、追加ボタン１６０６と、削除ボタン１６０７と、登録不要ボタン１６０８とを有する。
新規登録目的入力欄１６０４における入力対象が目的関数であるのに対し、新規登録制約入力欄１４０４における入力対象が制約式である他は、新規目的設定画面１６００は、図１４に示した新規制約設定画面１４００と同じであるので、ここでは、その詳細な説明を省略する。
目的関数入力設定部１０７は、例えば、ＣＰＵが、ＨＤＤ等から工程情報を読み出すと共に、ＲＡＭ等から変数および定数を読み出して、目的設定画面１５００および新規目的設定画面１６００を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる目的関数の内容を示すデータをＲＡＭ等に記憶することにより実現される。
【０１２１】
（定式化部１０８）
定式化部１０８は、変数・定数構築部１０５で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、制約条件入力設定部１０６で設定された制約式の内容と、に基づいて制約式を定式化する。以下に本実施形態において定式化される制約式の一例を説明する。
＜開始、終了の制約式＞
定式化部１０８は、変数・定数構築部１０５で構築された変数を用いて、以下の（１）式に示す制約式を定式化する。
【０１２２】
【数１】
0005379261.tif 000002
【０１２３】
（１）式は、同一のオーダ番号、同一の工程において、各リソースの使用開始時刻と終了時刻とが逆転してはならないことを表す。尚、（１）式の制約式は、制約条件入力設定部１０６で設定された制約式の内容とは別の（物理的な理由から定まる）制約式である。
【０１２４】
＜工程間の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報とに基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（２）式に示す制約式を定式化する。
【０１２５】
【数２】
0005379261.tif 000003
【０１２６】
その他のオーダ番号００００２，・・・，００００Ｎについても（２）式と同様の制約式が定式化される。
（２）式は、同一のオーダ番号において、当該オーダ番号の製品オーダに対して定められた工程順で各リソースを使用しなければならないことを表す。
【０１２７】
＜使用時間の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報とに基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（３）式に示す制約式を定式化する。
【０１２８】
【数３】
0005379261.tif 000004
【０１２９】
その他のオーダ番号００００２，・・・，００００Ｎについても（３）式と同様の制約式が定式化される。
（３）式は、同一のオーダ番号、同一の工程における、各リソースの使用時間または使用時間の範囲を表す。
【０１３０】
＜リソース同時利用制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図７に示すリソース同時利用制約設定画面７００を用いて制約条件入力設定部１０６により設定されたリソース同時利用制約の内容と、に基づき、変数・定数構築部１０５で構築された変数および定数を用いて、以下の（４）式に示す制約式を定式化する。
【０１３１】
【数４】
0005379261.tif 000005
【０１３２】
（４）式において、Ｍは十分に大きな正の値である。
（４）式と同様の制約式が、オーダ番号００００１，００００Ｎ、オーダ番号００００２，００００Ｎについても定式化される。
【０１３３】
＜リソース利用パターン制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図８に示すリソース利用パターン制約設定画面８００を用いて制約条件入力設定部１０６により設定されたリソース利用パターン制約の内容とに基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（５）式に示す制約式を定式化する。
【０１３４】
【数５】
0005379261.tif 000006
【０１３５】
（５）式において、Ｍは十分に大きな正の値である。
＜リソース利用パターン処理時間制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図９に示すリソース利用パターン処理時間制約設定画面９００を用いて制約条件入力設定部１０６により設定されたリソース利用パターン処理時間制約の内容と、に基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（６）式に示す制約式を定式化する。
【０１３６】
【数６】
0005379261.tif 000007
【０１３７】
（６）式において、Ｍは十分に大きな正の値である。
オーダ番号００００２についても（６）式と同様の制約式が定式化される。
＜同一ロット制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図１０に示す同一ロット制約設定画面１０００を用いて制約条件入力設定部１０６により設定された同一ロット制約の内容と、に基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（７）式に示す制約式を定式化する。
【０１３８】
【数７】
0005379261.tif 000008
【０１３９】
＜異ロット制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図１１に示す異ロット制約設定画面１１００を用いて制約条件入力設定部１０６により設定された異ロット制約の内容と、に基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（８）式に示す制約式を定式化する。
【０１４０】
【数８】
0005379261.tif 000009
【０１４１】
＜リソース稼働制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図１２に示すリソース稼働制約設定画面１２００を用いて制約条件入力設定部１０６により設定されたリソース稼働制約の内容と、に基づき、変数・定数構築部１０５で構築された変数を用いて、以下の（９）式に示す制約式を定式化する。
【０１４２】
【数９】
0005379261.tif 000010
【０１４３】
（９）式において、Ｍは十分に大きな正の値である。
（９）式と同様の制約式が、「機械２」についても定式化される。
＜リソース最大能力制約の制約式＞
定式化部１０８は、工程入力登録部１０３により登録された工程情報と、製品オーダ入力登録部１０４で登録された製品オーダ情報と、図１３に示すリソース最大能力制約設定画面１３００を用いて制約条件入力設定部１０６により設定されたリソース最大能力制約の内容と、に基づき、変数・定数構築部１０５で構築された変数および定数を用いて、以下の（１０）式に示す制約式を定式化する。
【０１４４】
【数１０】
0005379261.tif 000011
【０１４５】
（１０）式において、Ｍは十分に大きな正の値である
（１０）式と同様の制約式が、「機械２」についても定式化される。
以上で制約式が定式化される。尚、新規制約については、図１４に示す新規制約設定画面１４００を用いて設定された内容で定式化される。
【０１４６】
＜目的関数の定式化＞
次に、定式化部１０８は、変数・定数構築部１０５で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、目的関数入力設定部１０７で設定された目的の内容とに基づいて目的関数を定式化する。以下に本実施形態において定式化される目的関数の一例を説明する。
【０１４７】
定式化部１０８は、図１５に示す目的設定画面１５００と、図１６に示す新規目的設定画面１６００とを用いて目的関数入力設定部１０７により設定された目的の内容に基づき、変数・定数構築部１０５で構築された変数および定数を用いて、以下の（１１）式に示す目的関数を定式化する。
【０１４８】
【数１１】
0005379261.tif 000012
【０１４９】
定式化部１０８は、例えば、ＣＰＵが、ＨＤＤ等から工程情報および製品オーダ情報を読み出すと共に、ＲＡＭ等から変数、定数、制約・目的の内容を読み出して、以上の制約式と目的関数を構築し、そのデータをＲＡＭ等に記憶することにより実現される。
【０１５０】
（計画作成部１０９）
計画作成部１０９は、例えば混合整数計画法による最適化計算を行って、定式化部１０８で定式化された制約式に基づく制約を満足する範囲で、定式化部１０８で定式化された目的関数Ｆを最小にする決定変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）を生産計画として求める。
計画作成部１０９は、例えば、ＣＰＵが、ＲＡＭ等から、定式化された目的関数および制約式のデータを読み出して、生産計画を求め、その結果をＲＡＭ等に記憶することにより実現される。
【０１５１】
（計画表示部１１０）
計画表示部１１０は、計画作成部１０９で得られた生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）を表示装置に表示する。
計画表示部１１０は、例えば、ＣＰＵが、ＲＡＭ等から、決定変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）を読み出して、生産計画の表示データを生成し、表示装置に出力することにより実現される。
（計画管理部１１１）
計画管理部１１１は、計画作成部１０９で得られた生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）のデータを管理する。より具体的には、計画管理部１１１は、生産計画を立案する際にオペレータによりスケジューリング装置１００に対して入力された入力情報と、生産計画の立案結果を示す立案結果情報とをセットで記憶媒体に記憶し、必要に応じて（オペレータからの要求等に応じて）、それらを取り出して出力する。このようにすることにより、例えば、前回生産計画を立案したときに使用した入力情報を少し変更して、再度新たな生産計画を立案して、保持することができる。また、この機能を実現することで、少し条件（入力情報）の違う場合の生産計画の立案の結果を比較すること等が可能となる。
計画管理部１１１は、例えば、ＣＰＵが、ＲＡＭ等から、生産計画のデータを読み出して、ＨＤＤ等に記憶する等ことにより実現される。
【０１５２】
（計画出力部１１２）
計画出力部１１２は、計画管理部１１１により管理されている生産計画（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名）のデータを出力する。例えば、計画出力部１１２は、ユーザによる入力装置の操作に基づいて、生産計画のデータを、ネットワークを介して外部装置に送信したり、可搬型の記憶媒体に記憶したりすることができる。
計画出力部１１２は、例えば、ＣＰＵが、ＨＤＤ等から、生産計画のデータを読み出して、インターフェースを介して、スケジューリング装置１００の外部に出力することにより実現される。
【０１５３】
（スケジューリング装置１００の動作フローチャート）
次に、図１７のフローチャートを参照しながら、スケジューリング装置１００の処理動作の一例を説明する。
まず、図１７−１のステップＳ１７０１において、リソース入力登録部１０１は、リソース登録画面３００を表示する。
次に、ステップＳ１７０２において、リソース入力登録部１０１は、リソース登録画面３００に対する操作が、登録ボタン３０２の押下であるか否かを判定する。この判定の結果、リソース登録画面３００に対する操作が、登録ボタン３０２の押下でない場合には、ステップＳ１７０１に戻り、リソース入力登録部１０１は、当該操作の内容に応じて、リソース登録画面３００の表示内容を変更する。
【０１５４】
そして、リソース登録画面３００に対して、登録ボタン３０２の押下があると、ステップＳ１７０３に進む。ステップＳ１７０３に進むと、リソース入力登録部１０１は、リソース入力欄３０１に入力されている内容（リソース情報）を記憶媒体に記憶する。
次に、ステップＳ１７０４において、品種入力登録部１０２は、品種登録画面４００を表示する。
次に、ステップＳ１７０５において、品種入力登録部１０２は、品種登録画面４００に対する操作が、登録ボタン４０２の押下であるか否かを判定する。この判定の結果、品種登録画面４００に対する操作が、登録ボタン４０２の押下でない場合には、ステップＳ１７０４に戻り、品種入力登録部１０２は、当該操作の内容に応じて、品種登録画面４００の表示内容を変更する。
【０１５５】
そして、品種登録画面４００に対して、登録ボタン４０２の押下があると、ステップＳ１７０６に進む。ステップＳ１７０６に進むと、品種入力登録部１０２は、品種入力欄４０１に入力されている内容（品種情報）を記憶媒体に記憶する。
次に、ステップＳ１７０７において、工程入力登録部１０３は、工程登録画面５００を表示する。
次に、ステップＳ１７０８において、工程入力登録部１０３は、工程登録画面５００に対する操作が、登録ボタン５０２の押下であるか否かを判定する。この判定の結果、工程登録画面５００に対する操作が、登録ボタン５０２の押下でない場合には、ステップＳ１７０７に戻り、工程入力登録部１０３は、当該操作の内容に応じて、工程登録画面５００の表示内容を変更する。
【０１５６】
そして、工程登録画面５００に対して、登録ボタン５０２の押下があると、ステップＳ１７０９に進む。ステップＳ１７０９に進むと、工程入力登録部１０３は、各品種における工程入力欄５０１に入力されている内容（工程情報）を記憶媒体に記憶する。
次に、ステップＳ１７１０において、製品オーダ入力登録部１０４は、製品オーダ登録画面６００を表示装置に表示する。
次に、ステップＳ１７１１において、製品オーダ入力登録部１０４は、製品オーダ登録画面６００に対する操作が、登録ボタン６０２の押下であるか否かを判定する。この判定の結果、製品オーダ登録画面６００に対する操作が、登録ボタン６０２の押下でない場合には、ステップＳ１７１０に戻り、製品オーダ入力登録部１０４は、当該操作の内容に応じて、製品オーダ登録画面６００の表示内容を変更する。
【０１５７】
そして、製品オーダ登録画面６００に対して、登録ボタン６０２の押下があると、ステップＳ１７１２に進む。ステップＳ１７１２に進むと、製品オーダ入力登録部１０４は、製品オーダ入力欄６０１に入力されている内容（製品オーダ情報）を記憶媒体に記憶する。
次に、図１７−２のステップＳ１７１３において、変数・定数構築部１０５は、工程情報と、製品オーダ情報とを用いて、変数（開始時刻オータ゛番号,工程名,リソース名・終了時刻オータ゛番号,工程名,リソース名、使用可否オータ゛番号,工程名,リソース名、前後判断オータ゛番号, オータ゛番号,工程名,リソース名）と定数（使用開始可能日リソース名）を構築する。
【０１５８】
次に、ステップＳ１７１４において、制約条件入力設定部１０６は、リソース同時利用制約設定画面７００を表示する。
次に、ステップＳ１７１５において、制約条件入力設定部１０６は、リソース同時利用制約設定画面７００に対する操作が、登録ボタン７０２の押下であるか否かを判定する。この判定の結果、リソース同時利用制約設定画面７００に対する操作が、登録ボタン７０２の押下でない場合には、ステップＳ１７１４に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、リソース同時利用制約設定画面７００の表示内容を変更する。
【０１５９】
そして、リソース同時利用制約設定画面７００に対して、登録ボタン７０２の押下があると、ステップＳ１７１６に進む。ステップＳ１７１６に進むと、制約条件入力設定部１０６は、制約条件入力欄７０１に入力されている内容（リソース同時利用制約の内容）を記憶媒体に記憶する。
次に、ステップＳ１７１７において、制約条件入力設定部１０６は、リソース利用パターン制約設定画面８００を表示する。
次に、ステップＳ１７１８において、制約条件入力設定部１０６は、リソース利用パターン制約設定画面８００に対する操作が、登録ボタン８０２の押下であるか否かを判定する。この判定の結果、リソース利用パターン制約設定画面８００に対する操作が、登録ボタン８０２の押下でない場合には、ステップＳ１７１７に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、リソース利用パターン制約設定画面８００の表示内容を変更する。
【０１６０】
そして、リソース利用パターン制約設定画面８００に対して、登録ボタン８０２の押下があると、ステップＳ１７１９に進む。ステップＳ１７１９に進むと、制約条件入力設定部１０６は、制約条件入力欄８０１に入力されている内容（リソース利用パターン制約の内容）を記憶媒体に記憶する。
次に、ステップＳ１７２０において、制約条件入力設定部１０６は、リソース利用パターン処理時間制約設定画面９００を表示する。
次に、ステップＳ１７２１において、制約条件入力設定部１０６は、リソース利用パターン処理時間制約設定画面９００に対する操作が、登録ボタン９０２の押下であるか否かを判定する。この判定の結果、リソース利用パターン処理時間制約設定画面９００に対する操作が、登録ボタン９０２の押下でない場合には、ステップＳ１７２０に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、リソース利用パターン処理時間制約設定画面９００の表示内容を変更する。
【０１６１】
そして、リソース利用パターン処理時間制約設定画面９００に対して、登録ボタン９０２の押下があると、ステップＳ１７２２に進む。ステップＳ１７２２に進むと、制約条件入力設定部１０６は、制約条件入力欄９０１に入力されている内容（リソース利用パターン処理時間制約の内容）を記憶媒体に記憶する。
次に、ステップＳ１７２３において、制約条件入力設定部１０６は、同一ロット制約設定画面１０００を表示する。
次に、ステップＳ１７２４において、制約条件入力設定部１０６は、同一ロット制約設定画面１０００に対する操作が、登録ボタン１００２の押下であるか否かを判定する。この判定の結果、同一ロット制約設定画面１０００に対する操作が、登録ボタン１００２の押下でない場合には、ステップＳ１７２３に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、同一ロット制約設定画面１０００の表示内容を変更する。
【０１６２】
そして、同一ロット制約設定画面１０００に対して、登録ボタン１００２の押下があると、ステップＳ１７２５に進む。ステップＳ１７２５に進むと、制約条件入力設定部１０６は、制約条件入力欄１００１に入力されている内容（同一ロット制約の内容）を記憶媒体に記憶する。
次に、図１７−３のステップＳ１７２６において、制約条件入力設定部１０６は、異ロット制約設定画面１１００を表示する。
次に、ステップＳ１７２７において、制約条件入力設定部１０６は、異ロット制約設定画面１１００に対する操作が、登録ボタン１１０２の押下であるか否かを判定する。この判定の結果、異ロット制約設定画面１１００に対する操作が、登録ボタン１１０２の押下でない場合には、ステップＳ１７２６に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、異ロット制約設定画面１１００の表示内容を変更する。
そして、異ロット制約設定画面１１００に対して、登録ボタン１１０２の押下があると、ステップＳ１７２８に進む。ステップＳ１７２８に進むと、制約条件入力設定部１０６は、制約条件入力欄１１０１に入力されている内容（異ロット制約の内容）を記憶媒体に記憶する。
【０１６３】
次に、ステップＳ１７２９において、制約条件入力設定部１０６は、リソース稼働制約設定画面１２００を表示する。
次に、ステップＳ１７３０において、制約条件入力設定部１０６は、リソース稼働制約設定画面１２００に対する操作が、登録ボタン１２０２の押下であるか否かを判定する。この判定の結果、リソース稼働制約設定画面１２００に対する操作が、登録ボタン１２０２の押下でない場合には、ステップＳ１７２９に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、リソース稼働制約設定画面１２００の表示内容を変更する。
そして、リソース稼働制約設定画面１２００に対して、登録ボタン１２０２の押下があると、ステップＳ１７３１に進む。ステップＳ１７３１に進むと、制約条件入力設定部１０６は、制約条件入力欄１２０１に入力されている内容（リソース稼働制約の内容）を記憶媒体に記憶する。
【０１６４】
次に、ステップＳ１７３２において、制約条件入力設定部１０６は、リソース最大能力制約設定画面１３００を表示する。
次に、ステップＳ１７３３において、制約条件入力設定部１０６は、リソース最大能力制約設定画面１３００に対する操作が、登録ボタン１３０２の押下であるか否かを判定する。この判定の結果、リソース最大能力制約設定画面１３００に対する操作が、登録ボタン１３０２の押下でない場合には、ステップＳ１７３２に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、リソース最大能力制約設定画面１３００の表示内容を変更する。
そして、リソース最大能力制約設定画面１３００に対して、登録ボタン１３０２の押下があると、ステップＳ１７３４に進む。ステップＳ１７３４に進むと、制約条件入力設定部１０６は、制約条件入力欄１３０１に入力されている内容（リソース最大能力制約の内容）を記憶媒体に記憶する。
【０１６５】
次に、ステップＳ１７３５において、制約条件入力設定部１０６は、新規制約設定画面１４００を表示する。
次に、ステップＳ１７３６において、制約条件入力設定部１０６は、新規制約設定画面１４００に対する操作が、登録ボタン１４０５の押下であるか否かを判定する。この判定の結果、新規制約設定画面１４００に対する操作が、登録ボタン１４０５の押下でない場合には、ステップＳ１７３７に進む。
ステップＳ１７３７に進むと、制約条件入力設定部１０６は、新規制約設定画面１４００に対する操作が、登録不要ボタン１４０８の押下であるか否かを判定する。この判定の結果、新規制約設定画面１４００に対する操作が、登録不要ボタン１４０８の押下でない場合には、ステップＳ１７３５に戻り、制約条件入力設定部１０６は、当該操作の内容に応じて、新規制約設定画面１４００の表示内容を変更する。
【０１６６】
一方、新規制約設定画面１４００に対する操作が、登録不要ボタン１４０８の押下である場合には、ステップＳ１７３８を省略して後述するステップＳ１７３９に進む。
ステップＳ１７３６において、新規制約設定画面１４００に対する操作が、登録ボタン１４０５の押下であると判定されると、ステップＳ１７３８に進む。ステップＳ１７３８に進むと、制約条件入力設定部１０６は、新規登録制約入力欄１４０４に入力されている内容（新規制約の内容（制約式））を記憶媒体に記憶する。そして、ステップＳ１７３９に進む。
【０１６７】
ステップＳ１７３９に進むと、目的関数入力設定部１０７は、目的設定画面１５００に表示する。
次に、ステップＳ１７４０において、目的関数入力設定部１０７は、目的設定画面１５００に対する操作が、登録ボタン１５０２の押下であるか否かを判定する。この判定の結果、目的設定画面１５００に対する操作が、登録ボタン１５０２の押下でない場合には、ステップＳ１７３９に戻り、目的関数入力設定部１０７は、当該操作の内容に応じて、目的設定画面１５００の表示内容を変更する。
そして、目的設定画面１５００に対して、登録ボタン１５０２の押下があると、ステップＳ１７４１に進む。ステップＳ１７４１に進むと、目的関数入力設定部１０７は、目的関数入力欄１５０１の内容（「有効要否」のチェックボックスでチェックされている目的の内容）を記憶媒体に記憶する。
【０１６８】
次に、図１７−４のステップＳ１７４２において、目的関数入力設定部１０７は、新規目的設定画面１６００を表示する。
次に、ステップＳ１７４３において、目的関数入力設定部１０７は、新規目的設定画面１６００に対する操作が、登録ボタン１６０５の押下であるか否かを判定する。この判定の結果、新規目的設定画面１６００に対する操作が、登録ボタン１６０５の押下でない場合には、ステップＳ１７４４に進む。
ステップＳ１７４４に進むと、目的関数入力設定部１０７は、新規目的設定画面１６００に対する操作が、登録不要ボタン１６０８の押下であるか否かを判定する。この判定の結果、新規目的設定画面１６００に対する操作が、登録不要ボタン１６０８の押下でない場合には、ステップＳ１７４２に戻り、目的関数入力設定部１０７は、当該操作の内容に応じて、新規目的設定画面１６００の表示内容を変更する。
【０１６９】
一方、新規目的設定画面１６００に対する操作が、登録不要ボタン１６０８の押下である場合には、ステップＳ１７４５を省略して後述するステップＳ１７４６に進む。
ステップＳ１７４３において、新規目的設定画面１６００に対する操作が、登録ボタン１６０５の押下であると判定されると、ステップＳ１７４５に進む。ステップＳ１７４５に進むと、目的関数入力設定部１０７は、新規登録目的入力欄１６０４に入力されている内容（新規目的の内容）を記憶媒体に記憶する。そして、ステップＳ１７４６に進む。
【０１７０】
ステップＳ１７４６に進むと、定式化部１０８は、ステップＳ１７１３で構築された変数および定数と、ステップＳ１７０９で登録された工程情報・ステップＳ１７１２で登録された製品オーダ情報（相互に関連付けられて登録された「品種、工程、製品オーダ、リソース」の情報）と、ステップＳ１７１６・Ｓ１７１９・Ｓ１７２２・Ｓ１７２５・Ｓ１７２８・Ｓ１７３１・Ｓ１７３４で設定された制約の内容と、に基づいて制約式を定式化する（（１）式〜（１０）式を参照）。
【０１７１】
次に、ステップＳ１７４７において、定式化部１０８は、ステップＳ１７１３で構築された変数および定数と、ステップＳ１７０９で登録された工程情報・ステップＳ１７１２で登録された製品オーダ情報（相互に関連付けられて登録された「品種、工程、製品オーダ、リソース」の情報）と、ステップＳ１７４１・Ｓ１７４５で設定された目的の内容と、に基づいて目的関数を定式化する（（１１）式を参照）。
次に、ステップＳ１７４８において、計画作成部１０９は、例えば混合整数計画法による最適化計算を行って、ステップＳ１７４６で定式化された制約式に基づく制約を満足する範囲で、ステップＳ１７４７で定式化された目的関数Ｆを最小にする決定変数（開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名等）を求める。
【０１７２】
次に、ステップＳ１７４９において、計画管理部１１１は、ステップＳ１７４８で得られた生産計画のデータを記憶する。
次に、ステップＳ１７５０において、計画表示部１１０は、ステップＳ１７４８で得られた生産計画を表示する。
そして、図１７のフローチャートによる処理を終了する。
【０１７３】
（まとめ）
以上のように本実施形態では、リソース、品種、工程および製品オーダを相互に関連付けて登録する。これら登録された情報から、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を構築する。これら相互に関連付けられた「品種、工程、およびリソース」の識別情報の選択入力欄を用いて表記した制約式の内容を含む制約設定画面を表示する。この制約設定画面に対するユーザの選択入力の結果に基づいて、制約の内容を設定する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて制約式を定式化する。
また、これら相互に関連付けられた「品種および工程」と、目的の内容を示す文字情報と、当該目的の重要度とを用いて記述した目的の内容と、その選択入力欄と、を含む目的設定画面を表示する。この目的設定画面に対するユーザの選択入力の結果に基づいて、目的の内容を登録する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて制約式を定式化する。
よって、高度な数学的専門知識をもたない一般のユーザに対して、従来よりも多様な生産計画を、数理計画法を用いて立案する仕組みを提供することができる。
【０１７４】
また、本実施形態では、構築した変数および定数の選択欄と、演算子の選択欄とを含む新規制約設定画面を表示する。そして、この新規制約設定画面に対するユーザの選択入力の結果に基づいて、新規の制約式を定式化する。
さらに、本実施形態では、構築した変数および定数の選択欄と、演算子の選択欄とを含む新規目的設定画面を表示する。そして、この新規制約設定画面に対するユーザの選択入力の結果に基づいて、目的関数の内容を追加する。
よって、より汎用的な生産計画を、数理計画法を用いて立案することができる。
また、リソースの属性、工程の属性および製品オーダ情報の属性を追加することができるようにした。よって、より一層汎用的な生産計画を、数理計画法を用いて立案することができる。
【０１７５】
（変形例）
本実施形態では、生産計画を立案する場合を例に挙げて説明した。しかしながら、本実施形態は、物流計画にも適用することもできる。この場合、目的関数および制約式の変数・定数や、目的および制約を表現するための用語が、物流計画に適した用語に置き換わることは勿論である。
また、本実施形態では、リソース情報、品種情報、工程情報および製品オーダ情報を、画面に対する入力に基づいて作成する場合を例に挙げて説明した。しかしながら、例えば、これらの情報を、スケジューリング装置１００とは別の情報処理装置で作成し、作成した情報をスケジューリング装置１００に取り込んで登録してもよい。
また、本実施形態では、目的関数が重み付き線形和で表される場合を例に挙げて説明した。しかしながら、目的関数は、重み付き線形和に限定されない。例えば、（１１）式の右辺の「１０×（終了時刻0000N,組立,機械L-1−納期0000N）」を、「１０×（終了時刻0000N,組立,機械L-1−納期0000N）2」としてもよい。すなわち、数理計画法は、混合整数計画法に限定されず、例えば、混合整数２次計画法でもよい。尚、本実施形態では、目的関数を最小化する場合を例に挙げて説明したが、目的に応じて目的関数を最大化するようにしてもよい。
【０１７６】
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体および前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１７７】
（請求項との関係）
＜請求項１、１２＞
登録手段（工程）は、例えば、リソース入力登録部１０１が、ステップＳ１７０３を実行することと、品種入力登録部１０２が、ステップＳ１７０６を実行することと、工程入力登録部１０３が、ステップＳ１７０９を実行することと、製品オーダ入力登録部１０４が、ステップＳ１７１２を実行することにより実現される（図２も参照）。
構築手段（工程）は、例えば、変数・定数構築部１０５が、ステップＳ１７１３を実行することにより実現される。
「注文別・工程別・リソース別の開始時刻および終了時刻」は、例えば、開始時刻オータ゛番号,工程名,リソース名、終了時刻オータ゛番号,工程名,リソース名に対応する。
制約設定手段（工程）は、例えば、制約条件入力設定部１０６が、ステップＳ１７１４、Ｓ１７１６、Ｓ１７１７、Ｓ１７１９、Ｓ１７２０、Ｓ１７２２、Ｓ１７２３、Ｓ１７２５、Ｓ１７２６、Ｓ１７２８、Ｓ１７２９、Ｓ１７３１、Ｓ１７３２、Ｓ１７３４を実行することにより実現される。
「前記品種、前記工程、および前記リソースの識別情報の少なくとも１つの選択入力欄」は、例えば、制約条件入力欄７０１、８０１、９０１、１００１、１１０１、１２０１、１３０１に対応する。
目的設定手段（工程）は、例えば、目的関数入力設定部１０７が、ステップＳ１７３９、Ｓ１７４１を実行することにより実現される。
「前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄」は、例えば、目的関数入力欄１５０１に対応する。
制約式定式化手段（工程）は、例えば、定式化部１０８が、ステップＳ１７４６を実行することにより実現される。
目的関数定式化手段（工程）は、例えば、定式化部１０８が、ステップＳ１７４７を実行することにより実現される。
計画作成手段（工程）は、例えば、計画作成部１０９が、ステップＳ１７４８を実行することにより実現される。
＜請求項２、１３＞
リソース登録画面表示手段（工程）は、例えば、リソース入力登録部１０１が、ステップＳ１７０１を実行することにより実現される。
「予め設定されている当該リソースの属性情報であって、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報」は、例えば、図３Ａの「最大能力」および「最小利用間隔」の情報に対応する。
＜請求項３、１４＞
リソース登録画面表示手段（工程）は、例えば、リソース入力登録部１０１が、ステップＳ１７０１〜Ｓ１７０２を実行することにより実現される。
「前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報の入力欄」は、例えば、図３Ｃの「使用開始可能日」の入力欄に対応する。
＜請求項４、１５＞
品種登録画面表示手段（工程）は、例えば、品種入力登録部１０２が、ステップＳ１７０４を実行することにより実現される。
＜請求項５、１６＞
工程登録画面表示手段（工程）は、例えば、工程入力登録部１０３が、ステップＳ１７０７を実行することにより実現される。
登録手段（工程）は、例えば、工程入力登録部１０３が、ステップＳ１７０９を実行することにより実現される。
「前記工程登録画面における前記リソースの入力欄」は、例えば、工程登録画面５００の「『機械１』、『機械２』、・・・『機械Ｌ−１』、『機械Ｌ』」の選択入力欄に対応する。
＜請求項６、１７＞
工程登録画面表示手段（工程）は、例えば、工程入力登録部１０３が、ステップＳ１７０７〜Ｓ１７０８を実行することにより実現される。
＜請求項７、１８＞
製品オーダ登録画面表示手段（工程）は、例えば、製品オーダ入力登録部１０４が、ステップＳ１７１０を実行することにより実現される。
「前記製品オーダ登録画面における前記品種の入力欄」は、例えば、製品オーダ登録画面６００の「品種」の選択入力欄に対応する。
＜請求項８、１９＞
製品オーダ登録画面表示手段（工程）は、例えば、製品オーダ入力登録部１０４が、ステップＳ１７１０、Ｓ１７１１を実行することにより実現される。
＜請求項９、２０＞
新規制約設定画面表示手段（工程）は、例えば、制約条件入力設定部１０６が、ステップＳ１７３５を実行することにより実現される。
＜請求項１０、２１＞
新規目的設定画面表示手段（工程）は、例えば、目的関数入力設定部１０７が、ステップＳ１７４５を実行することにより実現される。
「前記新規目的設定画面表示手段により表示された新規目的設定画面に対するユーザの操作に基づく目的の内容」は、例えば、目的関数入力欄１５０１の「有効要否」のチェックボックスにチェックが入れられている行に示されている内容に対応する。
【符号の説明】
【０１７８】
１００    スケジューリング装置、１０１    リソース入力登録部、１０２    品種入力登録部、１０３    工程入力登録部、１０４    製品オーダ入力登録部、１０５    変数・定数構築部、１０６  制約条件入力設定部、１０７    目的関数入力設定部、１０８    定式化部、１０９    計画作成部、１１０    計画表示部、１１１    計画管理部、１１２    計画出力部
【図１】
0005379261.tif 000013
【図２】
0005379261.tif 000014
【図３Ａ】
0005379261.tif 000015
【図３Ｂ】
0005379261.tif 000016
【図３Ｃ】
0005379261.tif 000017
【図４Ａ】
0005379261.tif 000018
【図４Ｂ】
0005379261.tif 000019
【図５Ａ】
0005379261.tif 000020
【図５Ｂ】
0005379261.tif 000021
【図５Ｃ】
0005379261.tif 000022
【図６Ａ】
0005379261.tif 000023
【図６Ｂ】
0005379261.tif 000024
【図７Ａ】
0005379261.tif 000025
【図７Ｂ】
0005379261.tif 000026
【図８Ａ】
0005379261.tif 000027
【図８Ｂ】
0005379261.tif 000028
【図９Ａ】
0005379261.tif 000029
【図９Ｂ】
0005379261.tif 000030
【図１０Ａ】
0005379261.tif 000031
【図１０Ｂ】
0005379261.tif 000032
【図１１Ａ】
0005379261.tif 000033
【図１１Ｂ】
0005379261.tif 000034
【図１２Ａ】
0005379261.tif 000035
【図１２Ｂ】
0005379261.tif 000036
【図１３Ａ】
0005379261.tif 000037
【図１３Ｂ】
0005379261.tif 000038
【図１４Ａ】
0005379261.tif 000039
【図１４Ｂ】
0005379261.tif 000040
【図１５】
0005379261.tif 000041
【図１６Ａ】
0005379261.tif 000042
【図１６Ｂ】
0005379261.tif 000043
【図１７−１】
0005379261.tif 000044
【図１７−２】
0005379261.tif 000045
【図１７−３】
0005379261.tif 000046
【図１７−４】
0005379261.tif 000047