Skip to content

fff-yokubo/MIP-Exercizes

Repository files navigation

最適化モデリングエクササイズ

目的

演習を通じて Gurobiの変数や制約の使い方、盤面の状態管理など、 数理最適化の基本的な考え方が学び、実装ができるようになる。


演習1: 不完全なモデル

目的

数理モデル定義部実装を修正することで 正しい数理モデルが生成できるようにすること

前提条件

数独ソルバとして不完全な数理モデル(※)が実装済み。 本来は解なしとなるべき問題が解ありとなってしまう。 ※ 数理モデル定義部に意図的なバグor実装漏れあり

演習内容

(実装未修正の場合、)解ありとなり、正しくない盤面が表示される。

実装済みの制約式を参考にしつつ、

制約式の誤り?不足?を確認の上実装を修正すること。

OK条件

入力盤面に対する求解結果が解なし(result==False)となること


演習2: 複数解の列挙

目的

複数パタンの解がある数独の盤面に対して その解をすべて列挙する

前提条件

探索を繰り返し実行するwhileループを実装済み

  1. 探索n回目には、[n-1回目までの解を禁止する制約]を追加
  2. すべての解が出尽くした時点で(1)により解なしとなる、whileループを抜ける

演習内容

[N-1回目までの解を禁止する制約]の実現手段(制約式など)を検討して phbtExistingSolutionメソッド内部に実装すること

About

最適化モデリングエクササイズ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published