jp.go.aist.dmrc.platform.beans.solver
クラス PFLPSolver

java.lang.Object
  上位を拡張 jp.go.aist.dmrc.platform.beans.solver.PFLPSolver
すべての実装されたインタフェース:
java.io.Serializable, PFComponent, PFXMLSerializable, PFEventSource, PFProcessTerminateEventSource

public class PFLPSolver
extends java.lang.Object
implements PFComponent, PFProcessTerminateEventSource, PFXMLSerializable

線形計画法のソルバー 「lp_solve」の ラップコンポーネント.

このコンポーネントから以下のイベントが発生します。

関連項目:
直列化された形式

コンストラクタの概要
PFLPSolver()
          コンポーネントを生成する。
 
メソッドの概要
 void addConstraint(java.lang.String strConstraint)
          制約条件を追加する.
 void addPFProcessTerminateListener(PFProcessTerminateListener lis)
          引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。
 void clearConstraints()
          制約条件リストをクリアする.
 void delConstraint(int index)
          制約条件を削除する.
 int getComponentID()
          コンポーネントIDを取得する。
 java.lang.String getComponentKey()
          コンポーネントキーを取得する。
 PFMultiLocaleString getComponentKeys()
          全ロケール分のコンポーネントキーを返す。
 java.lang.String getComponentName()
          コンポーネント名称を取得する。
 java.lang.String getComponentPublicName()
          コンポーネント公開名を取得する.
 java.lang.String getComponentString()
          コンポーネントの文字列表現を取得する。
 PFObjectList getConstraints()
          制約条件の一覧を取得する.
 double getObjective()
          計算した解を取得する.
 java.lang.String getObjFn()
          目的関数を取得する.
 java.util.Iterator getPFProcessTerminateListenerList()
          処理完了イベントリスナ配列を取得する。
 double getVariable(java.lang.String name)
          求めた解の変数値を取得する.
 PFObjectList getVariableList()
          現在設定されている目的関数と制約条件を解析して、変数一覧を取得する.
 PFLabeledObjectList getVariables()
          求めた解の変数値の一覧を取得する.
 boolean isAllowPullTransfer()
          他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowPushTransfer()
          他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
 boolean isAllowRemoteInvocation()
          他PFからのコンポーネント連携要求に対する可否属性を取得する.
 boolean isMaxim()
          最適解の設定を取得する.
 void localeUpdated()
          ロケール変更に対応する。
 void readXML(PFXMLLoader in)
          XMLを入力する.
 void removePFProcessTerminateListener(PFProcessTerminateListener lis)
          引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。
 void setAllowPullTransfer(boolean flag)
          他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowPushTransfer(boolean flag)
          他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.
 void setAllowRemoteInvocation(boolean flag)
          他PFからのコンポーネント連携要求に対する可否属性を設定する.
 void setComponentID(int id)
          コンポーネントIDを設定する。
 void setComponentKey(java.lang.String key)
          コンポーネントキーを設定する。
 void setComponentKeys(PFMultiLocaleString keys)
          全ロケール分のコンポーネントキーを設定する。
 void setComponentPublicName(java.lang.String publicName)
          コンポーネント公開名を設定する.
 void setMaxim()
          求める最適解を最大に設定する.
 void setMinim()
          求める最適解を最小に設定する.
 void setObjFn(java.lang.String strObjFn)
          目的関数を設定する.
 boolean solve()
          最適解を求める.
 void writeXML(PFXMLGenerator out)
          XMLを出力する.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PFLPSolver

public PFLPSolver()
コンポーネントを生成する。

メソッドの詳細

getComponentName

public java.lang.String getComponentName()
コンポーネント名称を取得する。

定義:
インタフェース PFComponent 内の getComponentName
戻り値:
コンポーネント名

getComponentKey

public java.lang.String getComponentKey()
コンポーネントキーを取得する。

定義:
インタフェース PFComponent 内の getComponentKey
戻り値:
コンポーネントキー

setComponentKey

public void setComponentKey(java.lang.String key)
コンポーネントキーを設定する。

定義:
インタフェース PFComponent 内の setComponentKey
パラメータ:
key - コンポーネントキー

getComponentKeys

public PFMultiLocaleString getComponentKeys()
全ロケール分のコンポーネントキーを返す。

戻り値:
全ロケール分のコンポーネントキー

setComponentKeys

public void setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。

パラメータ:
keys - 全ロケール分のコンポーネントキー

getComponentID

public int getComponentID()
コンポーネントIDを取得する。

定義:
インタフェース PFComponent 内の getComponentID
戻り値:
コンポーネントID

setComponentID

public void setComponentID(int id)
コンポーネントIDを設定する。
コンポーネントIDはプラットフォームPFComponentBusから設定される。 各コンポーネント内では操作しないこと。

定義:
インタフェース PFComponent 内の setComponentID
パラメータ:
id - 設定するコンポーネントID

getComponentString

public java.lang.String getComponentString()
コンポーネントの文字列表現を取得する。
形式:"Component Name" [ ID : "ID" ]

定義:
インタフェース PFComponent 内の getComponentString
戻り値:
文字列表現

getComponentPublicName

public java.lang.String getComponentPublicName()
コンポーネント公開名を取得する.

定義:
インタフェース PFComponent 内の getComponentPublicName
戻り値:
コンポーネント公開名

setComponentPublicName

public void setComponentPublicName(java.lang.String publicName)
                            throws PFComponentException
コンポーネント公開名を設定する.
空文字のみの公開名は、nullに置き換える。数字のみの公開名は許可しない。 また、既存コンポーネントとの重複も認めない.

定義:
インタフェース PFComponent 内の setComponentPublicName
パラメータ:
publicName - 設定するコンポーネント公開名
例外:
PFComponentException - 規約に反する名前が設定されようとした場合

isAllowRemoteInvocation

public boolean isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowRemoteInvocation
戻り値:
コンポーネント連携要求可否属性

setAllowRemoteInvocation

public void setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowRemoteInvocation
パラメータ:
flag - コンポーネント連携要求に対する可否

isAllowPullTransfer

public boolean isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPullTransfer
戻り値:
Pull型コンポーネント転送要求可否属性

setAllowPullTransfer

public void setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPullTransfer
パラメータ:
flag - Pull型コンポーネント転送要求に対する可否

isAllowPushTransfer

public boolean isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.

定義:
インタフェース PFComponent 内の isAllowPushTransfer
戻り値:
Push型コンポーネント転送要求可否属性

setAllowPushTransfer

public void setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.

定義:
インタフェース PFComponent 内の setAllowPushTransfer
パラメータ:
flag - Push型コンポーネント転送要求に対する可否

getPFProcessTerminateListenerList

public java.util.Iterator getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。

定義:
インタフェース PFProcessTerminateEventSource 内の getPFProcessTerminateListenerList
戻り値:
イベントリスナイテレータ

addPFProcessTerminateListener

public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、 処理完了イベント発生時に処理を行う対象とする。

定義:
インタフェース PFProcessTerminateEventSource 内の addPFProcessTerminateListener
パラメータ:
lis - 追加対象イベントリスナ

removePFProcessTerminateListener

public void removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、 処理完了イベント発生時に処理を行う対象から外す。

定義:
インタフェース PFProcessTerminateEventSource 内の removePFProcessTerminateListener
パラメータ:
lis - 削除対象イベントリスナ

localeUpdated

public void localeUpdated()
ロケール変更に対応する。

定義:
インタフェース PFComponent 内の localeUpdated

setObjFn

public void setObjFn(java.lang.String strObjFn)
目的関数を設定する.

パラメータ:
strObjFn - 目的関数

getObjFn

public java.lang.String getObjFn()
目的関数を取得する.

戻り値:
目的関数

addConstraint

public void addConstraint(java.lang.String strConstraint)
制約条件を追加する.

パラメータ:
strConstraint - 制約条件

delConstraint

public void delConstraint(int index)
制約条件を削除する.

パラメータ:
index - 制約条件リストのインデックス

getConstraints

public PFObjectList getConstraints()
制約条件の一覧を取得する.

戻り値:
制約条件リスト

clearConstraints

public void clearConstraints()
制約条件リストをクリアする.


getVariableList

public PFObjectList getVariableList()
現在設定されている目的関数と制約条件を解析して、変数一覧を取得する. 取得のタイミングによっては、getVariables()のラベル付きリストから得られる 変数一覧と一致しない可能性もある。

戻り値:
変数一覧

setMaxim

public void setMaxim()
求める最適解を最大に設定する.


setMinim

public void setMinim()
求める最適解を最小に設定する.


isMaxim

public boolean isMaxim()
最適解の設定を取得する.

戻り値:
trueなら最大化、falseなら最小化

solve

public boolean solve()
              throws PFException
最適解を求める. 計算処理が無事に終了した場合には、処理完了イベントが発生する。

戻り値:
計算が正常終了したならtrue、そうでないのならfalse
例外:
PFComponentException - 線形計画ソルバのパラメタ設定に失敗した場合
PFComponentException - 計算処理に失敗した場合
PFComponentException - イベント発生に失敗した場合
PFException - 関数電卓を用いた係数算出に失敗した場合

getObjective

public double getObjective()
計算した解を取得する.

戻り値:
最適解
例外:
PFComponentException - 解の取得に失敗した場合

getVariables

public PFLabeledObjectList getVariables()
求めた解の変数値の一覧を取得する.

戻り値:
変数名と値が対応したラベル付きリスト
例外:
PFComponentException - 変数値の取得に失敗した場合

getVariable

public double getVariable(java.lang.String name)
                   throws PFComponentException
求めた解の変数値を取得する.

パラメータ:
name - 変数名
戻り値:
入力した名前の変数の値
例外:
PFComponentException - 変数値の取得に失敗した場合

writeXML

public void writeXML(PFXMLGenerator out)
              throws java.io.IOException
XMLを出力する.

定義:
インタフェース PFXMLSerializable 内の writeXML
パラメータ:
out - XML出力ユーティリティ
例外:
java.io.IOException

readXML

public void readXML(PFXMLLoader in)
XMLを入力する.

定義:
インタフェース PFXMLSerializable 内の readXML
パラメータ:
in - XML入力ユーティリティ