RSS

 

RSS


プログラム


SCIPで覆面算その2

  • いわいまさか
  • at 2025/3/27 17:56:35

SCIPで覆面算その2

SCIPで
いか+か=かい
を解いた。
答は 89+9=98

model.writeProblem("ikakakai.lp")
で LP で問題文が書ける。
本来はここをシコシコ書く。
pyscipopt だと便利に書ける。
というか書かなきゃいけない。

ポイントをひとつ。
い は
0123456789のどれかなので
i0 いは0
i1 いは1
i2 いは2
........
i9 いは9
と全部バイナリー変数で持ったほうがいい。<<<<<
よろしく。

\ SCIP STATISTICS
\   Problem name     : いかかかい
\   Variables        : 22 (20 binary, 2 integer, 0 implicit integer, 0 continuous)
\   Constraints      : 7
Minimize
 Obj: 0 i0
Subject to
 c1: +1 i0 +1 i1 +1 i2 +1 i3 +1 i4 +1 i5 +1 i6 +1 i7 +1 i8 +1 i9 = +1
 c2: +1 k0 +1 k1 +1 k2 +1 k3 +1 k4 +1 k5 +1 k6 +1 k7 +1 k8 +1 k9 = +1
 c3: +1 iscore -1 i1 -2 i2 -3 i3 -4 i4 -5 i5 -6 i6 -7 i7 -8 i8 -9 i9 = +0
 c4: +1 kscore -1 k1 -2 k2 -3 k3 -4 k4 -5 k5 -6 k6 -7 k7 -8 k8 -9 k9 = +0
 c5: +1 i0 = +0
 c6: +1 k0 = +0
 c7: +9 iscore -8 kscore = +0
Bounds
 0 <= i0 <= 1
 0 <= i1 <= 1
 0 <= i2 <= 1
 0 <= i3 <= 1
 0 <= i4 <= 1
 0 <= i5 <= 1
 0 <= i6 <= 1
 0 <= i7 <= 1
 0 <= i8 <= 1
 0 <= i9 <= 1
 0 <= k0 <= 1
 0 <= k1 <= 1
 0 <= k2 <= 1
 0 <= k3 <= 1
 0 <= k4 <= 1
 0 <= k5 <= 1
 0 <= k6 <= 1
 0 <= k7 <= 1
 0 <= k8 <= 1
 0 <= k9 <= 1
Binaries
 i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 k0 k1 k2 k3 k4 k5 k6 k7 k8 k9
Generals
 iscore kscore
End



  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/56620