Skip to content

Commit 1675933

Browse files
committed
Updated models with ≤ syntax
1 parent 2f0934d commit 1675933

File tree

5 files changed

+13
-21
lines changed

5 files changed

+13
-21
lines changed

src/assignment.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function qap(n, W, D, ::Val{:JuMP})
22
model = JuMP.Model(CBLS.Optimizer)
33

4-
@variable(model, X[1:n], DiscreteSet(1:n))
4+
@variable(model, 1 X[1:n] n, Int)
55
@constraint(model, X in AllDifferent())
66

77
Σwd = p -> sum(sum(W[p[i], p[j]] * D[i, j] for j in 1:n) for i in 1:n)

src/golomb.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ end
3333
function golomb(n, L, ::Val{:JuMP})
3434
m = JuMP.Model(CBLS.Optimizer)
3535

36-
@variable(m, X[1:n], DiscreteSet(0:L))
37-
38-
# @constraint(m, X[1] in AllEqualParam(0)) # first mark at 0
36+
@variable(m, 1 X[1:n] L, Int)
3937

4038
@constraint(m, X in AllDifferent()) # different marks
4139
@constraint(m, X in Ordered()) # for output convenience, keep them ordered

src/magic_square.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ function magic_square(n, ::Val{:JuMP})
44
magic_constant = n * (N + 1) / 2
55
Σeq = x -> sum(x) == magic_constant
66

7-
@variable(model, X[1:n, 1:n], DiscreteSet(1:N))
7+
@variable(model, 1 X[1:n, 1:n] N, Int)
88
@constraint(model, vec(X) in AllDifferent())
99

1010
for i in 1:n

src/n_queens.jl

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
function n_queens(n, ::Val{:JuMP})
22
model = JuMP.Model(CBLS.Optimizer)
33

4-
@variable(model, queens[1:n], DiscreteSet(1:n))
5-
@constraint(model, queens in AllDifferent())
4+
@variable(model, 1 Q[1:n] n, Int)
5+
@constraint(model, Q in AllDifferent())
66

7-
for i in 1:n
8-
for j in i+1:n
9-
@constraint(model, [queens[i],queens[j]] in Predicate(x -> x[1] != x[2]))
10-
@constraint(model, [queens[i],queens[j]] in Predicate(x -> (x[1] != x[2]+i-j)))
11-
@constraint(model, [queens[i],queens[j]] in Predicate(x -> (x[1] != x[2]+j-i)))
12-
end
7+
for i in 1:n, j in i + 1:n
8+
@constraint(model, [Q[i],Q[j]] in Predicate(x -> x[1] != x[2]))
9+
@constraint(model, [Q[i],Q[j]] in Predicate(x -> x[1] != x[2] + i - j))
10+
@constraint(model, [Q[i],Q[j]] in Predicate(x -> x[1] != x[2] + j - i))
1311
end
1412

15-
return model, queens
13+
return model, Q
1614
end
1715

1816
"""
1917
n_queens(n; modeler = :JuMP)
2018
2119
Create a model for the n-queens problem with `n` queens. The `modeler` argument accepts :JuMP (default), which refer to the JuMP model.
2220
"""
23-
n_queens(n; modeler = :JuMP) = n_queens(n, Val(modeler))
21+
n_queens(n; modeler=:JuMP) = n_queens(n, Val(modeler))

src/sudoku.jl

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,12 @@ function sudoku(n, start, ::Val{:JuMP})
6969
N = n^2
7070
m = JuMP.Model(CBLS.Optimizer)
7171

72-
if isnothing(start)
73-
@variable(m, X[1:N, 1:N], DiscreteSet(1:N))
74-
else
75-
@variable(m, X[1:N, 1:N])
72+
@variable(m, 1 X[1:N, 1:N] N, Int)
73+
if !isnothing(start)
7674
for i in 1:N, j in 1:N
7775
v_ij = start[i,j]
7876
if 1 v_ij N
7977
@constraint(m, X[i,j] == v_ij)
80-
else
81-
@constraint(m, X[i,j] in DiscreteSet(1:N))
8278
end
8379
end
8480
end

0 commit comments

Comments
 (0)