# Usage ``` cd solver_soft make ./sim.exe < input-Q-file(.txt) [-s seed-value] [-o output-A-file(.txt)] ``` # Limits of the solver |パラメタ|上限値| |---|---| |ブロック数|128| |ライン数|256| |盤面サイズ(探索時)|128X128| # Basic parameters |パラメタ|設定値|説明| |---|---|---| |Outer loop (SA_O)|100|SA parameter in global placement| |Inner loop (SA_I)|100,000|SA parameter in global placement| |Start temperature (TEMP_S)|500|SA parameter in global placement| |End temperature (TEMP_E)|0.1|SA parameter in global placement| |LOOP|50|# of solutions generated in a single trial| |TRY_LIMIT|500|Limit of # of trials| |NO_MOVE|10|Search will be ended when no solution improvement continues for NO_MOVE trials| # ToDo * ~~ブロックを詰める作業の精度向上(現状,右下にスペースが生まれるような結果になりやすい)~~ →分割手法導入のため優先度低 * ~~端点を含まないブロックへの対応~~ * ~~組み込みシステム(PYNQ)上での実行→Python3からsolverを呼び出すコードを開発~~ * ~~Ubuntu上でソルバを動作させたときの実行時間計測(NotePC, PYNQ-Z1)~~ * ~~ソルバのハードウェア化~~ * ~~ハードウェアを呼び出すためのwrapperコードを開発(現状jupyter上での実行)~~ * ~~**ソルバの高速化**~~ * ~~求解途中であっても解を出力できるようにする →**各種パラメタの調整**(そこそこの時間でそこそこの解を導出するソルバ)~~ * **例外処理** * **自作問題の作成** # Update log * 2019/08/09 * **ブロックを詰める作業の精度向上** * **ソフトウェア実験** * 同時に移動させるブロック数を全体の10%程度となるよう変更 * 1ブロックの最大移動距離(同一フェーズ内)を10セルに制限 * 2019/08/29 * ソルバのパラメタ調整1: `d_sum_max != 0`で「更新あり」と判定 → `d_sum_max > 2`で「更新あり」と判定 * ソルバのパラメタ調整2: 1イテレーションの探索回数を**50**から**30**に削減