2018年8月26日日曜日
シリアライゼーションライブラリ cereal
アルゴリズムの改善を行うのに、コンパイル→探索の サイクルを出来るだけ早く回したいというのが背景です。大規模になると、コンパイルするだけで時間がかかってしまいます。そこで、コンパイル後の状態を保存・解凍できるようにすると、(一回コンパイルすれば)コンパイルの時間が省けます。この機能は、Save/Restoreという風に呼ばれていると思いますが、いわゆる「シリアル化」です。C++のクラスやvectorなどのテンプレートを、簡単にシリアル化するのに、cerealを今回、使ってみました。cerealは、serialと発音的にどうなんでしょうか? ともあれ、とても簡単にシリアル化できました。BinaryやJson思いのままに可能です。日本語記事は、こちらか、こちらが詳しいです。
新しい解の発見 その3
instance20の新解を更新しました。(UB:4778→4775→4773→4772→4771→4770→4769)
autorosterのxml formatで、解の有効性は、確認済みです。
Instance20の最適解が確定しました。
autorosterのxml formatで、解の有効性は、確認済みです。
Instance20の最適解が確定しました。
So Far Bestknown | New Solution | |||
LB | UB | LB | UB | |
Instance15 | 3823 | 3834 | 3824 | 3831 |
Instance20 | 4743 | 4943 | 4769 | 4769 |
2018年8月20日月曜日
新しい解の発見 その2
性懲りもなく、未だ研究していて、その甲斐あって
instance20の新解を発見しました。
instance20の新解を発見しました。
So Far Bestknown | New Solution | |||
LB | UB | LB | UB | |
Instance15 | 3823 | 3834 | 3824 | 3831 |
Instance20 | 4743 | 4943 | 4769 | 4778 |
2018年8月15日水曜日
116Aをリリースしました
エンジンは、変更していません。来年2/3月の勤務表を作る必要がある、という放射線関係のReq.にお応えして、2019年のカレンダをEnableしました。(本Versionよりライセンスドユーザは、2100年までEnableしています。)
また、UserContributionsということで、下記のサンプルを追加しています。
・2交代診療所
・正循環
・複数の介護施設
特に複数の介護施設は、込み入っているので後で解説を書こうと思います。
また、UserContributionsということで、下記のサンプルを追加しています。
・2交代診療所
・正循環
・複数の介護施設
特に複数の介護施設は、込み入っているので後で解説を書こうと思います。
2018年8月8日水曜日
マルチスレッド化検討
今回は、OpenMPを使おうと思っています。今回の技術開発において、最後の仕上げという段階に来て、OpenMPの調査を開始しました。小規模のソースの場合、数秒ですのであまり意味はないのですが、大規模ベンチマークテストでは、数十時間も走らせるので意味があります。開発マシンもメモリを増強し48GBとしました。
登録:
投稿 (Atom)