File tree Expand file tree Collapse file tree 1 file changed +4
-5
lines changed Expand file tree Collapse file tree 1 file changed +4
-5
lines changed Original file line number Diff line number Diff line change @@ -2,17 +2,16 @@ function magic_square(n, ::Val{:JuMP})
22 N = n^ 2
33 model = JuMP. Model (CBLS. Optimizer)
44 magic_constant = n * (N + 1 ) / 2
5- Σeq = x -> sum (x) == magic_constant
65
76 @variable (model, 1 ≤ X[1 : n, 1 : n] ≤ N, Int)
87 @constraint (model, vec (X) in AllDifferent ())
98
109 for i in 1 : n
11- @constraint (model, X[i,:] in Predicate (Σeq ))
12- @constraint (model, X[:,i] in Predicate (Σeq ))
10+ @constraint (model, X[i,:] in SumEqualParam (magic_constant ))
11+ @constraint (model, X[:,i] in SumEqualParam (magic_constant ))
1312 end
14- @constraint (model, [X[i,i] for i in 1 : n] in Predicate (Σeq ))
15- @constraint (model, [X[i,n + 1 - i] for i in 1 : n] in Predicate (Σeq ))
13+ @constraint (model, [X[i,i] for i in 1 : n] in SumEqualParam (magic_constant ))
14+ @constraint (model, [X[i,n + 1 - i] for i in 1 : n] in SumEqualParam (magic_constant ))
1615
1716 return model, X
1817end
You can’t perform that action at this time.
0 commit comments