3

2 つの Java プログラムの通信に関して質問があります。一方は他方を埋め込みます。

組み込まれているのはリソースを計算する CPLEX 線形プログラム (Java SE + CPLEX ライブラリ) で、もう 1 つのルート アプリケーションはシミュレーション ソフトウェア (AnyLogic) です。ここでの考え方は、線形プログラムによって計算されたリソースをシミュレーションで使用する必要があるということです。

シミュレーションで線形プログラムを呼び出し、リソースを計算して配列またはオブジェクトとして返し、シミュレーションを続行します。

Simulation (AnyLogic) ----> Linear Program (CPLEX)
             <--------(VALUES?)--------|

私の問題は「引き渡し」であり、戻り値(引数)の縫い目が十分ではありません。これどうやってするの?

現時点では、値を保存するテキスト ファイルを使用しています。RMI とソケットについて読みましたが、これが良いアイデアかどうかはわかりません。

どんな助けでも大歓迎です!ありがとうございました。

4

1 に答える 1

1

それを行う 1 つの方法は、Java を使用して CPLEX プログラムを起動することですProcessこの質問に対する最初の回答では、ローンチされたものからフィードバックを取得するProcess方法 (およびローンチする方法) について詳しく説明しています。具体的にはProcess、起動プログラムによって後で読み取られる出力を出力する を起動する方法を示します。CPLEX プログラムが関連する結果を出力し、AnyLogic シミュレーションが記述されたメカニズムを介して取り込むことができると思います。

于 2014-10-20T15:51:42.507 に答える