(57)【要約】【課題】複数同時に進行するプロジェクトにおいて、遅延期間とコスト超過の最小化を目的とした効率的な資金と人員などのリソース配分に係わるシミュレーションを行う。【解決手段】各プロジェクトをエージェントに見立てたシミュレーションを実施し、遺伝的アルゴリズムを利用することを通じて最適解を出力する。具体的には、入力手段１２０により各プロジェクトのリスク因子を入力し、演算手段１１０により遅延リスクモデルを用いた遅延期間とその発生確率、作業の時間的発展、目的関数の最小化を通じて最適な設備と労働の配分を決定する。【選択図】図１
2010211364.tif 000002
【特許請求の範囲】
【請求項１】
同時に進行する複数のプロジェクトを管理するために、入力手段と記憶手段と演算手段と出力手段とを備えた情報処理装置を用いて、各プロジェクトの期間と収益のシミュレーションを行うプロジェクトのシミュレーション方法であって、
各プロジェクトについて、プロジェクト見積もり時のリスク因子と、プロジェクト遂行に必要な機器、設備、人員の少なくともいずれか１つを含むリソースの値とを、前記入力手段を用いて入力し、
前記演算手段を用いて、（i）入力された前記リスク因子と前記リソースの値とを用いて各プロジェクトの遅延期間の確率分布を計算するステップと、
（ii）前記確率分布に基づき予測した遅延期間を含むプロジェクト期間について単位時間当りの作業量を計算ステップと、
（iii）前記作業量に対応したコストとプロジェクト期間を用い、各プロジェクトについて遅延期間とコスト超過を全てのプロジェクトの間で同時に最小化するように前記リソースを変化させて、各プロジェクトの収益と遅延の確率分布を計算するステップと、
（iv）プロジェクト全体について、求めた収益の確率分布において収益が負となる部分の期待値を予備費として算出するステップとを有することを特徴とするプロジェクトのシミュレーション方法。
【請求項２】
請求項１記載のプロジェクトのシミュレーション方法において、
前記リスク因子は、プロジェクト見積もり時における事業分野または見積り工程数を含むプロジェクトの特徴を表す数値とし、前記入力手段を用いて前記リスク因子及び前記リソース値の入力を受け付ける際は、前記リソースの値の上限値が入力されることを特徴とするプロジェクトのシミュレーション方法。
【請求項３】
請求項１又は２記載のプロジェクトのシミュレーション方法において、
（ii）前記確率分布に基づき予測した遅延期間を含むプロジェクト期間について単位時間の作業量を計算するステップでは、前記単位時間当りの作業量の時間変化を示す作業量の成長率を計算し、その成長率から前記単位時間当りの作業量を算出することを特徴とするプロジェクトのシミュレーション方法。
【請求項４】
請求項１乃至３のいずれか１項記載のプロジェクトのシミュレーション方法において、
前記出力手段を用いて、各プロジェクトについて、前記収益の確率分布、前記リソースの配分結果、前記リソースを配分した場合の遅延の確率分布及び前記予備費を表示することを特徴とするプロジェクトのシミュレーション方法。
【請求項５】
請求項１乃至４のいずれか１項記載のプロジェクトのシミュレーション方法において、
（iii）各プロジェクトについて遅延期間とコスト超過を全てのプロジェクトの間で同時に最小化するように前記リソースを変化させて、各プロジェクトの収益と遅延の確率分布を計算するステップでは、前記プロジェクト数及びプロジェクト期間を遺伝子として設定し、遺伝的アルゴリズムを用いることを特徴とするプロジェクトのシミュレーション方法。
【請求項６】
同時に進行する複数のプロジェクトを管理するために各プロジェクトの期間と収益をシミュレートするプロジェクトのシミュレーションシステムにおいて、
各プロジェクトについて、プロジェクト見積もり時のリスク因子と、プロジェクト遂行に必要な機器、設備、人員の少なくともいずれか１つを含むリソースの値について入力を受け付ける入力手段と、
（i）入力された前記リスク因子と前記リソースの値とを用いて各プロジェクトの遅延期間の確率分布を計算し、
（ii）前記確率分布に基づき予測した遅延期間を含むプロジェクト期間について単位時間の作業量を計算し、
（iii）前記作業量に対応したコストとプロジェクト期間を用い、各プロジェクトについて遅延期間とコスト超過を全てのプロジェクトの間で同時に最小化するように前記リソースを変化させて、各プロジェクトの収益と遅延の確率分布を計算し、
（iv）プロジェクト全体について、求めた収益の確率分布において収益が負となる部分の期待値を予備費として算出する演算手段とを備えたこと特徴とするシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウエア開発やプラント建設などのプロジェクト・ポートフォリオについて、遅延期間とコスト超過の最小化を目的とした資金や人員などのリソース配分をシミュレートするプロジェクトのシミュレーション方法及びシミュレーションシステムに関する。
【背景技術】
【０００２】
多くの企業では常に複数のプロジェクト（プロジェクト・ポートフォリオ）を抱えている。個々のプロジェクトで計画の遅延などのリスク事象が生じた場合、プロジェクトマネージャーは他のプロジェクトとの兼ね合いで対策を検討しなければならないことが現状である。しかしながら、企業が使える資金や人員などのリソースには上限があるため、個々のプロジェクトの属性を考慮しながらプロジェクト・ポートフォリオの管理を行うことは、経験豊かなプロジェクトマネージャーにおいても困難である。
【０００３】
従来のプロジェクトの管理技術について、非特許文献１に、プロジェクト管理における遅延などのリスク事象を検討する際のコンセプトと事例が系統的に紹介されている。また、非特許文献２の第七章には、経済物理学に基づいてゲーム理論を応用した、企業を対象にしたエージェントモデルの事例が紹介されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Terry Williams著，「Modeling Complex Projects」，John Wiley & Sons，２００２年
【非特許文献２】青山秀明，家富洋，池田裕一，相馬亘，藤原義久著，「経済物理学」，共立出版，２００８年
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のプロジェクト管理技術は個別のプロジェクトに関するものであり、プロジェクト全体を対象としたプロジェクト・ポートフォリオに関する管理システムは事実上存在しないと考えられる。
【０００６】
従来のプロジェクト管理システムでは、個別のプロジェクトにおけるリスク事象を設定した上でコストなどへの影響を表示させる機能を有していたものの、他のプロジェクトとの兼ね合いを考慮したリソース配分の最適解を出力する機能は有していなかった。
【０００７】
また、最適解を計算する際に膨大な計算を伴う場合が多く、日常的なプロジェクト管理には不向きなであった。
【０００８】
本発明の目的は、上記課題を解決し、複数のプロジェクトにおける遅延などのリスク事象を考慮した上で、最適な人材や設備などの効率的なリソース配分を計算し、確率的なシミュレーションを行うことができるプロジェクトのシミュレーション方法及びシミュレーションシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成すべく本発明に係るプロジェクトのシミュレーション方法は、同時に進行する複数のプロジェクトを管理するために、入力手段と記憶手段と演算手段と出力手段とを備えた情報処理装置を用いて、各プロジェクトの期間と収益のシミュレーションを行うプロジェクトのシミュレーション方法であって、
各プロジェクトについて、プロジェクト見積もり時のリスク因子と、プロジェクト遂行に必要な機器、設備、人員の少なくともいずれか１つを含むリソースの値とを、前記入力手段を用いて入力し、
前記演算手段を用いて、（i）入力された前記リスク因子と前記リソースの値とを用いて各プロジェクトの遅延期間の確率分布を計算するステップと、（ii）前記確率分布に基づき予測した遅延期間を含むプロジェクト期間について単位時間当りの作業量を計算するステップと、（iii）前記作業量に対応したコストとプロジェクト期間を用い、各プロジェクトについて遅延期間とコスト超過を全てのプロジェクトの間で同時に最小化するように前記リソースを変化させて、各プロジェクトの収益と遅延の確率分布を計算するステップと、（iv）プロジェクト全体について、求めた収益の確率分布において収益が負となる部分の期待値を予備費として算出するステップとを有する方法である。
【００１０】
上記方法により、経済物理学に基づいてゲーム理論を応用したエージェントモデルを利用することにより、プロジェクト・ポートフォリオでのリソース配分の最適解を導き出し、シミュレーションを行うことにより解決できる。また、計算時間の短縮は、遺伝的アルゴリズムを導入することにより解決できる。
【発明の効果】
【００１１】
本発明によれば、見積時などのプロジェクト開始前の時点において、各プロジェクトをエージェントとして取り扱ってシミュレーションを行うことによって、プロジェクト・ポートフォリオの期間やコストを確率的に予測し、遅延などのリスクを織り込んだ上で各プロジェクトへの効率的なリソース配分を比較的短時間で行うことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るプロジェクト・ポートフォリオシミュレーション方法の一実施形態を示すフローチャート図である。
【図２】本実施形態のプロジェクト・ポートフォリオシミュレーションシステムのハードウェア構成を示すブロック図である。
【図３】図２のプロジェクト・ポートフォリオシミュレーションシステムの各入力項目及び各ボタンの画面例を示す説明図である。
【図４】プロジェクト・ポートフォリオシミュレーションシステムのチェックリストの一例を示す説明図である。
【図５】本実施形態で用いる遺伝的アルゴリズムの手順を示すフローチャートである。
【図６】図５の遺伝的アルゴリズムにおける遺伝子の概念を示す模式図である。
【図７】図５の遺伝的アルゴリズムにおける交叉の概念を示す模式図である。
【図８】図５の遺伝的アルゴリズムにおける突然変異の概念を示す模式図である。
【図９】図５の遺伝的アルゴリズムにおける目的関数の順位の概念を示す模式図である。
【図１０】図５の遺伝的アルゴリズムにおけるルーレット法の概念を示す模式図である。
【図１１】労働（人員）のリソース配分結果を示すグラフである。
【図１２】資本（設備）のリソース配分結果を示すグラフである。
【図１３】一つのプロジェクトの収益の確率密度分布を示すグラフである。
【図１４】プロジェクト・ポートフォリオの合計収益の確率密度分布を示すグラフである
【発明を実施するための形態】
【００１３】
以下、本発明に係るプロジェクト・ポートフォリオのシミュレーション方法及びシステムの実施形態を、図面を参照しながら説明する。
【００１４】
図１は、本実施形態のシミュレーション方法を示すフローチャートであり、図２は、シミュレーションシステムのハードウェア構成を示すブロック図である。
【００１５】
図２に示すように、プロジェクト・ポートフォリオ・シミュレーションシステムは、情報処理装置１００と、入力装置２００と、記憶装置３００と、出力装置４００と、ネットワークを介して他のシステムと通信を行うための通信制御装置５００とを有する。
【００１６】
情報処理装置１００は、中央処理ユニット（ＣＰＵ）１０１、メモリ１０２及び図示していないインターフェース機器等を有する。情報処理装置１００は、ＣＰＵ１０１がメモリ１０２上でシミュレーションプログラムを実行することにより、演算手段１１０、入力手段１２０、記憶手段１３０および出力手段１４０として機能する。情報処理装置１００は、例えば、シミュレーションの実行、データの入力の制御、格納、シミュレーション結果の出力を順次行う。情報処理装置１００は、見積時などのプロジェクト開始前の状態において、後述するチェックリストの入力により、プロジェクトポートフォリオの期間やコストを確率的に予測し、遅延などのリスクを織り込んだ上で各プロジェクトへの効率的なリソース配分を行うシミュレーションシステムを実現する。
【００１７】
入力装置２００は、例えば、キーボード２０１、マウス２０２またはタッチパネル等、人が情報処理装置１００に対して、指示、データ等を入力するための機器である。本実施形態では、キーボード２０１及びマウス２０２を装備するものとする。入力装置２００からの入力についての処理を、入力手段１２０が実行する。
【００１８】
記憶装置３００は、例えば、ハードディスク装置により構成され、情報を読み書き可能に保存する機器である。記憶装置３００は、情報処理装置１００において実行されるプログラムと、生成されたデータを格納する。すなわち、記憶装置３００には、情報処理装置１００のＣＰＵ１０１とメモリ１０２とが演算手段１１０、入力手段１２０、記憶手段１３０および出力手段１４０として機能するためのプログラムが格納される。演算手段１１０が実行するプログラムの一つとしては、前述したシミュレーションプログラムが挙げられる。記憶装置３００に対するデータ等の保存、読み出しの制御、メモリへの読み書きの制御等の処理を、記憶手段１３０が実行する。この記憶装置３００は、外付けタイプ或いは内蔵タイプのどちらのものであってもよい。
【００１９】
出力装置４００は、例えば、表示装置、印刷装置などの、情報を主として可視的に示すための機器である。本実施形態では、表示装置４０１及び印刷装置４０２の両方を備えている。表示装置４０１としては、具体的には、液晶ディスプレイが挙げられる。また、情報をデジタルデータとして書き込むための可搬型記憶装置も、出力装置に含めることができる。なお、可搬型記憶装置は、情報処理装置１００において、可搬型記憶装置からデータ等を読み出す場合には、入力装置２００として機能する。出力装置４００に対するデータの出力の処理は、出力手段１４０によって行われる。出力手段１４０は、画面表示と印字出力の双方が可能である。また、入力手段１２０において、データの入力が行われるときの入力画面の表示を、入力手段１２０における入力を受け付ける処理に対応して行う機能も有する。例えば、後述する指示のための画面上に表示されるボタン等が挙げられる。
【００２０】
通信制御装置５００は、本システムと外部システムとの間でデータ通信するための装置であり、外部システムとの情報に授受を行う際の通信を制御する。この通信制御は、例えば、情報処理装置１００の演算手段１１０により行われる。
【００２１】
図１に示すように、演算手段１１０は、イベントカウンタのリセット１１０１、乱数による遅延期間（ｄ）の発生と、その発生確率（ｐ（ｄ））の計算１１０２、設備投資額（Ｋ）と人件費（Ｌ）の初期値を遺伝子に設定１１０３、時間発展（作業関数から導出）を計算１１０４、目的関数（Ｆ）の計算１１０５、目的関数の最小化の判断１１０６、遺伝的アルゴリズムを用いた設備投資額（Ｋ）と人件費（Ｌ）の演算１１０７、全コストの計算・イベントカウンタの加算１１０８、モンテカルロイベント数（Ｅ）に等しいか否かの判断１１０９、全コストの確率分布から最適リソース配分を計算１１１０の各処理をプログラムに従って実行する。後述するが、これらの処理は、予め構築された遅延リスクモデルのパラメータ１３０１を用いて行う。
【００２２】
次に、本実施形態のプロジェクト・ポートフォリオ・シミュレーション・システムによるシミュレーションの処理について説明する。
【００２３】
先ず、出力手段１４０により出力装置４００の表示装置４０１に、複数種の処理に対する入力指示を受け付けるためのデータ入力枠及びボタンを表示する。このデータ入力枠及びボタンは、それについて、画面上で、カーソルにより特定され、マウス等で、選択のクリックが行われると、入力手段１２０により起動指示が受け付けられる。また、データ入力の代わりにプルダウンメニューなどを用いる構成としても良い。
【００２４】
出力手段１４０により表示装置４０１に表示されるデータ入力枠としては、例えば、図３に示す項目２１１から２３４が表示される。図３における表示画面４１１上において、同時進行プロジェクト数（Ｎ）２１１、プロジェクト期間（Ｔ）２１３、遺伝子数（Ｍ）２３１、世代数（Ｓ）２３２、交叉確率（Ｐｃ）２３３、突然変異確率（Ｐｍ）２３４、モンテカルロイベント数（Ｅ）（２４４）、対象プロジェクト２１２、質問項目１（２２１）、質問項目２（２２２）、質問項目３（２２３）、質問項目Ｆ（２２９）が用意されている。ここで、質問項目とは、後述のチェックリストにおけるプロジェクトの遅延リスクにかかわる入力項目である。Ｎ個のプロジェクトから対象プロジェクト２１２を選択して、Ｆ個の質問項目を入力する。更に、プロジェクト・ポートフォリオを遂行するための投入できるリソースの総量として、設備の制約Ｋmax（２４５）、人員の制約Ｌmax（２４６）のデータ入力枠が用意されている。
【００２５】
また、図３に示す表示画面４１１の右下部に、例えば起動ボタンとして計算開始２４１、計算中止２４２、結果表示２４３が配置される。
【００２６】
各々の処理を説明する準備として、まず、遅延リスクモデルについて説明する。予め過去のプロジェクトにおけるチェックリストの分析により遅延リスクモデルを構築し、その遅延リスクモデルのパラメータ１３０１を記憶手段１３０によりメモリ１０２及び記憶装置３００に保持することにする。一例として、下記の式１に示すように、各プロジェクトのチェックリストの項目をリスク因子(Ｆ個)として入力し、遅延日数（ｄ）を出力として得る遅延リスクモデルを構築する。このチェックリストは、プロジェクトの事業分野、遅延期間に対する管理方法、遅延に対する対策手段、プロジェクト実施の見通し概況（見積り工程数）など、図４に示すようなプロジェクトにおけるリスク因子（Ｆ個）として考えられる各項目を質問形式として設定したものであり、各プロジェクトのプロジェクトマネージャーからの回答結果を纏めたアンケート結果である。
【００２７】
【数１】
2010211364.tif 000003
ここで、f(・)は任意の関数形、または遅延日数ｄとリスク因子の関係を記述する任意の形式である。σdは下記の重回帰分析の誤差、εは標準正規乱数である。各プロジェクトにおける遅延期間の発生確率は以下の式２のように定義できる。
【００２８】
【数２】
2010211364.tif 000004
この関数f(・)の選択方法は図４に示す過去のチェックリスト実績と遅延日数実績との相関関係を計算することにより計測する。
【００２９】
関数f(・)の具体的な計算方法は、例えば、チェック項目における実績データについて、総当たり法を用いた重回帰分析を実施することにより行う。ここで、総当たり法を用いた重回帰分析とは、リスク因子を説明変数として、全てのリスク因子の組み合わせから、最も良く非説明変数を説明するＦ個のリスク因子を選択する手法である。式１のσdはの重回帰分析の誤差である。
【００３０】
上記で計測した遅延リスクモデルのパラメータを記憶装置３００に保持していれば、そのパラメータを読み出すことにより、遅延リスクモデルにおける式１を用いて遅延日数のベンチマークを行うことが可能となる。また、式２に遅延日数ｄを入力することにより、遅延期間の発生確率を計算することが可能となる。
【００３１】
入力手段１２０は、見積時チェックリストにデータを入力する入力処理１２０１を実行する。入力処理１２０１は、図４に示すチェック項目のうち、遅延リスクモデルにおける総当り法の結果として有意となった項目に対して行われ、プロジェクトにおけるチェック項目として図３に示した項目１（２２１）から項目Ｆ（２２９）までの入力を受け付けることにより実施する。入力処理１２０１は、他にも図３に示した同時進行プロジェクト数２１１、対象プロジェクト２１２、プロジェクト日数２１３の入力を受け付けることにより実施する。また、入力処理１２０１は演算手段１１０を実施する際に必要となる項目に対して行われ、図３に示した遺伝子数２３１、世代数２３２、交叉確率２３３、突然変異確率２３４に対して実施する。また、入力手段１２０は図示していないその他の共通基本データの入力も受け付けても良い。
【００３２】
入力処理１２０１が実行されると、演算手段１１０は、図１に示すような処理を行う。図１に従って、演算手段１１０について説明する。演算に用いる各種データは、予め入力データ１３０２として、記憶手段１３０により記憶装置３００に格納されているものを、読み出して使用する。この入力データは図３の左側に示した項目１から項目Ｆ（２２１〜２２９）までの数値を格納したものである。この際、必要に応じて、通信制御装置５００を経て、入力手段１２０により受け付けてもよい。また、遅延リスクモデルのパラメータについては記憶装置３００において、遅延リスクモデルのパラメータ１３０１として保持されているものとする。
【００３３】
先ず、演算手段１１０では、イベントカウンタを０に設定する（ステップ１１０１）。
【００３４】
次に、ステップ１１０２では、上記の遅延リスクモデルのパラメータ１３０１と入力処理１２０１で入力された見積時チェックリストの入力パラメータと乱数εを用い、遅延リスクモデル（式１）及び（式２）に従って、遅延期間（ｄ）とその発生確率（ｐ（ｄ））の計算を行う。ここで、遅延期間（ｄ）とその発生確率（ｐ（ｄ））は、イベントごとに異なる値をとることに注意する。
【００３５】
各対象プロジェクトの受注額をＷ、予定完了期間をＴとする。金額換算した単位時当りの作業量（Ｙ￣）は以下のように定義する。なお、受注額は金額換算した作業量である。
【００３６】
【数３】
2010211364.tif 000005
また、単位時間当たりの設備投資額（Ｋ￣）と単位時間当たりの人件費（Ｌ￣）をそれぞれ以下の式４と式５として定義する。
【００３７】
【数４】
2010211364.tif 000006
【００３８】
【数５】
2010211364.tif 000007
式３により以下の式６が満たされるため、プロジェクト期間中の任意の時点ｔにおいて以下の式７が成立する。
【００３９】
【数６】
2010211364.tif 000008
【００４０】
【数７】
2010211364.tif 000009
プロジェクトの進捗に遅延が無く、予定通り進む場合は、予定完了時Ｔにおいて以下の式８が成立する。
【００４１】
【数８】
2010211364.tif 000010
遅延期間（ｄ）と遅延発生確率（ｐ（ｄ））を計算するステップ１１０２において、遅延が生じた場合は、遅延期間ｄを考慮した作業量Ｗ’は以下の式９の通りとなる。
【００４２】
【数９】
2010211364.tif 000011
このとき、遅延期間ｄを含むプロジェクト期間Ｔ’は、式１０で与えられる。ここで、遅延期間ｄを含むプロジェクト期間Ｔ’は、単位時間当りの設備投資額（Ｋ￣）と単位時間当りの人件費（Ｌ￣）を投入して、遅延期間ｄを考慮した作業量Ｗ’を処理するのに必要となる期間に等しいことに注意する。
【００４３】
【数１０】
2010211364.tif 000012
ステップ１１０３では、時間発展を計算するにあたり、以下の式１１〜式１３のように初期値を設定する。なお、添え字（Ｇ）は、後述する目的関数Ｆを最小化する際に、必要な設備投資額Ｋと人件費Ｌの投入量を意味する。
【００４４】
【数１１】
2010211364.tif 000013
【００４５】
【数１２】
2010211364.tif 000014
【００４６】
【数１３】
2010211364.tif 000015
次にプロジェクトの作業関数として式１４を定義する。なお、Ａ、α、βはパラメータ、δは作業関数の誤差項である。
【００４７】
【数１４】
2010211364.tif 000016
式１４の両辺を対数変換すると式１５が得られる。
【００４８】
【数１５】
2010211364.tif 000017
ただし、εは以下の式１６及び式１７を満たすと仮定する。
【００４９】
【数１６】
2010211364.tif 000018
【００５０】
【数１７】
2010211364.tif 000019
式１５により、各パラメータは過去のプロジェクト記録から重回帰分析などを用いて計算することが可能となる。
【００５１】
式１４において時点ｔ＋１の各項目を時点ｔの各項目で割ると以下の式１８が定義される。
【００５２】
【数１８】
2010211364.tif 000020
式１８の両辺を対数変換すると以下の式１９が得られる。
【００５３】
【数１９】
2010211364.tif 000021
ここで、作業量Ｙ（ｔ）の成長率ｘ（ｔ）を
【００５４】
【数２０】
2010211364.tif 000022
のように定義し、式２０を用いて式１９を書き直すと、成長率ｘの時間発展を記述する方程式２１を得る。方程式２１は、離散化した確率微分方程式であり、本発明におけるプロジェクト・エージェントの活動を記述する基本方程式である。
【００５５】
【数２１】
2010211364.tif 000023
ただし、以下を仮定する。
【００５６】
【数２２】
2010211364.tif 000024
更に、設備投資額Ｋ（ｔ）の成長率ｋ（ｔ）と、人件費L（ｔ）の成長率ｌ（ｔ）を、それぞれ
【００５７】
【数２３】
2010211364.tif 000025
【００５８】
【数２４】
2010211364.tif 000026
のように定義する。
【００５９】
ステップ１１０４では、式２１に従って、成長率ｘ(t)のｔ=０からＴ’までの時間発展を計算する。次に、式２０に従って、成長率ｘ(t)から作業量Ｙ（ｔ）を算出する。このとき、作業量Ｗ’を完了するために必要な期間Ｔ(G)は、式１０に類似の形式で、
【００６０】
【数２５】
2010211364.tif 000027
のように計算できる。ここで、作業量Ｗ’を完了するために、プロジェクト開始時に投入した設備Ｋ（０）や人件費Ｋ（０）よりも多くのリソースが投入されているので、一般に
【００６１】
【数２６】
2010211364.tif 000028
の関係にある。
【００６２】
ステップ１１０５では、遅延期間（Ｔ(G)−Ｔ）、材料費Ｃ、設備投資額Ｋ、人件費Ｌ、設備の使用料率rから構築される目的関数を計算する。具体的には下式２７を目的関数Ｆとして設定する。なお、係数Ｂは第一項と第二項の寄与の大きさを決める重みである。
【００６３】
【数２７】
2010211364.tif 000029
式２７において、ＫとＬを小さくすると、遅延日数ｄによってプロジェクト期間Ｔ’が計画期間Ｔよりも長くなり、第一項（遅延期間）は大きな値をとるが、第二項は（全コスト）は小さくなる。一方、設備投資額Ｋと人件費Ｌを大きくすれば、第一項（遅延期間）は小さくなるものの、第二項（全コスト）が大きな値をとるようになる。そのため、設備投資額Ｋと人件費Ｌの最適値は目的関数Ｆを最小化するそれらの配分ということになる。このような設備投資額Ｋと人件費Ｌの配分は、プロジェクトマネージャーが日常的な業務で実際に行っている行動である。その意味で、本発明のモデルはプロジェクトマネージャーの行動を模擬したものであると考えられる。それぞれのプロジェクトに一人ずつマネージャーが割り当てられて、各マネージャーは、互いに自分以外のマネージャーの希望する設備投資額Ｋと人件費Ｌのもとで、自分のプロジェクトの目的関数Ｆを最小化する設備投資額Ｋと人件費Ｌを希望する。従って、この最適解はプロジェクト・ポートフォリオの間で決定されるので、ゲーム理論でいうところのナッシュ均衡とみなすことができる。
【００６４】
次にステップ１１０６とステップ１１０７の遺伝的アルゴリズムによる目的関数の最小化について説明する。上記の最適化計算は、その組み合わせにより計算すべき回数が指数関数的に増大するため、プロジェクト数や期間が多い場合は、非常に多くのメモリと計算期間を必要とする。本発明では以下に提唱する遺伝的アルゴリズムの利用を通じて、近似的なナッシュ均衡を探索する。当該方法により、少ないメモリ領域と計算時間で効率的なナッシュ解が探索可能となる。
【００６５】
遺伝的アルゴリズムは最適化を行う発見的な手法であり、図５に示す９つのステップからなる。
【００６６】
図５に示すように、ステップ１では、エージェント数（プロジェクト数）Ｎ、期間数Ｔ、遺伝子数Ｍ（最適化を図る上で設定する任意の値）、世代数Ｌ、交叉確率Ｐc、突然変異確率Ｐmを入力し遺伝子を設定する。この入力は入力手段１２０において、図３における表示画面４１１上のデータ入力枠である同時進行プロジェクト数２１１、プロジェクト日数２１３、遺伝子数２３１、世代数２３２、交叉確率２３３、突然変異確率２３４からそれぞれ行う。交叉確率Ｐcは０．８、突然変異確率Ｐmは遺伝子長の逆数としても良い。
【００６７】
遺伝子は、図６に示すような長いテープのイメージである。遺伝子の各サイト（テープ上に区切られた区画）には各エージェントの戦略として、設備投資額の成長率ｋ（ｔ）と、人件費の成長率ｌ（ｔ）とが２進法表記を用いて書き込まれている。ここで、ｔ＝１〜Ｔ’である。例えば、設備投資Ｋと人件費Ｌの成長率として、０．５から２の範囲を考えるとする。このとき、log100.5＝-0.3、log102.0＝0.3なので、対数成長率の範囲は-0.3から0.3である。４ビットの遺伝子を考えると、１１１１（２進法）＝１５（１０進法）である。従って、４ビットでは１６段階をあらわすことができる。0.6／（16−1）＝0.04なので、対数成長率は−0.3、−0.26、…、0.26、0.3のように離散的な値をとることになる。
【００６８】
ステップ２では、Ｍ個の遺伝子に対して乱数を発生させて、１あるいは０のいずれかを初期値として各サイトに書き込む。ステップ３では各遺伝子について交叉確率Ｐcを用いて、図７のようにランダムな位置で二つの遺伝子を切って交叉する（つなぎ替える）。ステップ４では遺伝子上の各サイトについて、図８のように、突然変異確率Ｐmを用いて０を１に、あるいは１を０に反転させる。このような手順を突然変異という。ステップ５ではＭ個の遺伝子のうち、第ｊ番目の遺伝子について、第ｉ番目のエージェントの期間０からＴ’における設備投資額の成長率ｋ（ｔ）と人件費の成長率ｌ（ｔ）を２進法表記から１０進法表記に変換し、さらに設備投資額Ｋ（ｔ）と人件費Ｌ（ｔ）を計算する。ただし、
【００６９】
【数２８】
2010211364.tif 000030
のように、設備投資額Ｋ（ｔ）の合算値が設備投資額の制約Ｋmaxを超える場合は、
【００７０】
【数２９】
2010211364.tif 000031
のように置き換える。人件費についても同様に、
【００７１】
【数３０】
2010211364.tif 000032
のように、人件費（ｔ）の合算値が人件費の制約Ｌmaxを超える場合は、
【００７２】
【数３１】
2010211364.tif 000033
のように置き換える。このような手続きで算出した設備投資額Ｋ（ｔ）と人件費Ｌ（ｔ）を用いて、目的関数Ｆｉ（ｊ）を計算する。全ての遺伝子（ｊ＝１，…，Ｍ）について全てのエージェント（ｉ＝１，…，Ｎ）の目的関数を計算する。
【００７３】
ステップ６ではＭ個の各遺伝子について適合度を計算する。図９のように各エージェントについて計算した目的関数Ｆｉ（ｊ）について、遺伝子間における各サイトの順位をつける。そして、各遺伝子ごとに各サイトの順位の総和を求め、その順位の総和を適合度とする。もし、ある遺伝子の全てのサイトの順位が１位であれば、適合度は１／Ｎに等しく、これが最大値となる。このとき、全てのエージェントの戦略は最適なので、ナッシュ均衡の厳密解となる。
【００７４】
ステップ７では上記で計算した適合度が高い遺伝子をＭ個選択する。ただし、その選択は重複を許すものとする。具体的には、図１０のように各遺伝子の適合度に比例した面積を割り当てたルーレットを設定し、これを回して玉の止まった場所の遺伝子を選択する手法、いわゆるルーレット法を採用する。これにより、適合度の比較的高い遺伝子の組み合わせを新しい世代の遺伝子群としてＭ個選択することが可能となる。
【００７５】
ステップ８ではステップ３からステップ７の演算をＳ回実施する。
【００７６】
ステップ９では上記過程により選択された最良適合度をもつ遺伝子情報を出力する。この最良適合度をもつ解はナッシュ均衡の近似解である。
【００７７】
ステップ１１０８ではステップ１１０７により計算された資本Ｋ(G)(ｔ)と労働Ｌ(G)(ｔ)の最適解を式２７に代入して全コストおよび目的関数Ｆを計算する。また、その回数をカウンタとして加算する。
【００７８】
図１に戻り、ステップ１１０９では、毎回の実施回数ごとに回数を示すカウンタを加算し、任意で設定する規定回数（Ｅ回）になるまで、ステップ１１０２からステップ１１０８までの手順を繰り返し実施する。
【００７９】
ステップ１１１０では、ステップ１１０２からステップ１１０９において計算された均衡解（資本Ｋ、労働Ｌ）に関して確率分布を測定し、最適リソース配分と予備費を計測する。
【００８０】
本実施形態のシミュレーションシステムにおける出力手段１４０は、入力手段１２０が図３に示す結果表示ボタン２４３を押す操作を受け付けると、出力手段１４０は演算手段１１０によって計算された均衡解（資本Ｋ、労働Ｌ）に関する最適リソース配分を液晶ディスプレイなどの表示装置４０１に表示させる。例えば、この際の出力は図１１から図１４までに示されたものとなる。また、印刷装置４０２により図表を印刷させるようにしてもよい。
【００８１】
図１１は、労働（人員）のリソース配分結果である。図中の点線は全人員数を示しており、３つのプロジェクトからなるプロジェクト・ポートフォリオ全体で働く人員は、この全人員数をこえることはできない。図１１に示す事例では、３月と６月に１名だけ余剰人員がでているが、残りの期間ではすべての人員が各プロジェクトに割り当てられている。
【００８２】
図１２は、資本（設備）のリソース配分結果である。図中の点線は全設備数を示しており、３つのプロジェクトからなるプロジェクト・ポートフォリオ全体で使う設備は、この全設備数をこえることはできない。図１２に示す事例では、２月にすべての設備を使用しているが、他の期間では設備の余剰が生じている。
【００８３】
プロジェクト・ポートフォリオを構成する第ｉ番目のプロジェクトの収益Ｐｉは、
【００８４】
【数３２】
2010211364.tif 000034
で定義される。図１３は、プロジェクト・ポートフォリオを構成する第i番目のプロジェクトの収益Ｐｉの確率密度分布である（図ではプロジェクト１）。収益の負の部分の平均値は、−１４．２１２である。従って、このプロジェクトの予備費として、１４．２１２だけ用意しておくことがプロジェクト管理の観点から望ましい。一つのプロジェクトに関する予備費を、コンティンジェンシリザーブと呼ぶことがある。
プロジェクト・ポートフォリオの合計収益Ｐは、
【００８５】
【数３３】
2010211364.tif 000035
で定義される。図１４は、プロジェクト・ポートフォリオの合計収益Ｐの確率密度分布である。収益の負の部分の平均値、−５９．８２２である。従って、プロジェクト・ポートフォリオ全体の予備費として、５９．８２２だけ用意しておくことがプロジェクト管理の観点から望ましい。プロジェクト・ポートフォリオ全体に関する予備費を、マネジメントリザーブと呼ぶことがある。
【００８６】
本実施形態のシミュレーション方法によれば、見積時などのプロジェクト開始前の時点において、各プロジェクトをエージェントとして取り扱ってシミュレーションを行うことによって、プロジェクト・ポートフォリオの期間やコストを確率的に予測し、遅延などのリスクを織り込んだ上で各プロジェクトへの効率的なリソース配分を比較的短時間で行うことが可能になる。
また、本実施形態では、遺伝的アルゴリズムを用いて最適なリソース配分と予備費を算出することにより、少ないメモリ領域と計算時間で演算することができ、プロジェクト数や期間が多い場合のシミュレーションにも適用することができる。
【００８７】
以上、本発明は、上述した実施の形態に限定されるものではなく、他にも種々のものが想定される。
【符号の説明】
【００８８】
１００…情報処理装置、１０１…ＣＰＵ、１０２…メモリ、１１０…演算手段、１２０…入力手段、１３０…記憶手段、１４０…出力手段、２００…入力装置、２０１…キーボード、２０２…マウス、３００…記憶装置、４００…出力装置、４０１…表示装置、４０２…印刷装置、４１１…入力画面の一例、４１２…チェックリスト、５００…通信制御装置
【図１】
2010211364.tif 000036
【図２】
2010211364.tif 000037
【図３】
2010211364.tif 000038
【図４】
2010211364.tif 000039
【図５】
2010211364.tif 000040
【図６】
2010211364.tif 000041
【図７】
2010211364.tif 000042
【図８】
2010211364.tif 000043
【図９】
2010211364.tif 000044
【図１０】
2010211364.tif 000045
【図１１】
2010211364.tif 000046
【図１２】
2010211364.tif 000047
【図１３】
2010211364.tif 000048
【図１４】
2010211364.tif 000049