0

http://scip.zib.de/doc/html/TEST.phpの手順に基づいて、SCIP を使用して自動テストを設定することができました。ただし、客観的な値を取得するだけでなく、ソリューション (実行可能な最適なソリューション) をファイルに書き込みたいと考えています。自動テストでそれを行う方法はありますか?

置き換えてcheck.shでハックを行いました

OPTCOMMAND=optimize; write solution myfilename.sol;

残念ながら、動作していないようです。TEST=mytest テストを作成しようとすると、出力からこの行が観察されます。

 bash ./check.sh mytest bin/scip-3.1.0.linux.x86_64.gnu.opt.spx default scip-3.1.0.linux.x86_64.gnu.opt.spx 3600 2100000000 6144 1 default 10000 false false 3.1.0 spx false /tmp optimize;
 write: solution is not logged in on myfilename.sol

対話型シェルを介してソリューションを作成できることはわかっていますが、ソリューションと obj 値の両方を取得するためにテストを自動化しようとしています。どんな助けや説明も大歓迎です!

4

1 に答える 1

1

使用している構文で、セミコロンのために「書き込み」と呼ばれる bash コマンドを呼び出そうとすると、エラーが発生します。

write ユーティリティを使用すると、自分の端末から他のユーザーの端末に行をコピーすることで、他のユーザーと通信できます。

セミコロンなしで試してみてください;)

よりクリーンな解決策は、ファイル「check/configuration_tmpfile_setup_scip.sh」を変更し、次の行を追加することです

echo write solution /absolute/path/to/solutions/${INSTANCE}.sol >> $TMPFILE

終了コマンドの前。この構成ファイルは、対話型シェルが実行する必要があるすべてのコマンドを SCIP に供給するバッチ ファイルを設定し、任意のユーザーの動作をモデル化できます。

于 2014-10-21T15:45:15.157 に答える