Skip to content

Commit c146725

Browse files
authored
Merge branch 'master' into fix_documenter
2 parents 61e352e + 4463d0c commit c146725

File tree

20 files changed

+188
-155
lines changed

20 files changed

+188
-155
lines changed

.github/workflows/CI.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- master
6+
tags: '*'
7+
pull_request:
8+
jobs:
9+
test:
10+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
matrix:
14+
version:
15+
- '1.6'
16+
os:
17+
- ubuntu-latest
18+
- macOS-latest
19+
- windows-latest
20+
arch:
21+
- x64
22+
steps:
23+
- uses: actions/checkout@v1
24+
- uses: julia-actions/setup-julia@latest
25+
with:
26+
version: ${{ matrix.version }}
27+
arch: ${{ matrix.arch }}
28+
- uses: julia-actions/julia-runtest@latest
29+
- uses: julia-actions/julia-uploadcodecov@latest
30+
env:
31+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ data = gdp_data(model)
4545

4646
## Logical Variables
4747

48-
Logical variables are JuMP `AbstractVariable`s with two fields: `fix_value` and `start_value`. These can be optionally specified at variable creation. Logical variables are created with the `@variable` JuMP macro by adding the tag `LogicalVariable` as the last keyword argument. As with the regular `@variable` macro, variables can be named and indexed:
48+
Logical variables are JuMP `AbstractVariable`s with two fields: `fix_value` and `start_value`. These can be optionally specified at variable creation. Logical variables are created with the `@variable` JuMP macro by adding the tag `Logical` as the last keyword argument. As with the regular `@variable` macro, variables can be named and indexed:
4949

5050
```julia
51-
@variable(model, Y[1:3], LogicalVariable)
51+
@variable(model, Y[1:3], Logical)
5252
```
5353

5454
## Logical Constraints
@@ -133,7 +133,7 @@ using DisjunctiveProgramming
133133
134134
m = GDPModel()
135135
@variable(m, 0 ≤ x[1:2] ≤ 20)
136-
@variable(m, Y[1:2], LogicalVariable)
136+
@variable(m, Y[1:2], Logical)
137137
@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1]))
138138
@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2]))
139139
@disjunction(m, Y)

examples/ex1.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ using HiGHS
66
# Disjunction Method 1: Assign Logical Variables Explicitly
77
m = GDPModel()
88
@variable(m, -5 x 10)
9-
@variable(m, Y[1:2], LogicalVariable)
9+
@variable(m, Y[1:2], Logical)
1010
@constraint(m, 0 x 3, DisjunctConstraint(Y[1]))
1111
@constraint(m, 5 x, DisjunctConstraint(Y[2]))
1212
@constraint(m, x 9, DisjunctConstraint(Y[2]))

examples/ex2.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ using HiGHS
44

55
m = GDPModel(HiGHS.Optimizer)
66
@variable(m, 0 x[1:2] 20)
7-
@variable(m, Y[1:2], LogicalVariable)
7+
@variable(m, Y[1:2], Logical)
88
@constraint(m, [i = 1:2], [2,5][i] x[i] [6,9][i], DisjunctConstraint(Y[1]))
99
@constraint(m, [i = 1:2], [8,10][i] x[i] [11,15][i], DisjunctConstraint(Y[2]))
1010
@disjunction(m, Y)

examples/ex3.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ using DisjunctiveProgramming
22

33
m = GDPModel()
44
@variable(m, -5 x 10)
5-
@variable(m, Y[1:2], LogicalVariable)
5+
@variable(m, Y[1:2], Logical)
66
@constraint(m, exp(x) <= 2, DisjunctConstraint(Y[1]))
77
@constraint(m, x >= -3, DisjunctConstraint(Y[1]))
88
@constraint(m, exp(x) >= 3, DisjunctConstraint(Y[2]))

examples/ex4.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ using DisjunctiveProgramming
55
# ¬((Y[1] ∧ ¬Y[2]) ⇔ (Y[3] ∨ Y[4]))
66

77
m = GDPModel()
8-
@variable(m, Y[1:4], LogicalVariable)
8+
@variable(m, Y[1:4], Logical)
99
@constraint(m, ¬((Y[1] ¬Y[2]) (Y[3] Y[4])) IsTrue())
1010
reformulate_model(m, BigM())
1111
print(m)

examples/ex5.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ using DisjunctiveProgramming
44
##
55
m = GDPModel()
66
@variable(m, 1 x[1:2] 9)
7-
@variable(m, Y[1:2], LogicalVariable)
8-
@variable(m, W[1:2], LogicalVariable)
7+
@variable(m, Y[1:2], Logical)
8+
@variable(m, W[1:2], Logical)
99
@objective(m, Max, sum(x))
1010
@constraint(m, y1[i=1:2], [1,4][i] x[i] [3,6][i], DisjunctConstraint(Y[1]))
1111
@constraint(m, w1[i=1:2], [1,5][i] x[i] [2,6][i], DisjunctConstraint(W[1]))

examples/ex6.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@ using DisjunctiveProgramming
44
m = GDPModel()
55
@variable(m, -5 <= x[1:3] <= 5)
66

7-
@variable(m, y[1:2], LogicalVariable)
7+
@variable(m, y[1:2], Logical)
88
@constraint(m, x[1] <= -2, DisjunctConstraint(y[1]))
99
@constraint(m, x[1] >= 2, DisjunctConstraint(y[2]))
1010
@constraint(m, x[2] == -1, DisjunctConstraint(y[2]))
1111
@constraint(m, x[3] == 1, DisjunctConstraint(y[2]))
1212
@disjunction(m, y)
1313
@constraint(m, y in Exactly(1))
1414

15-
@variable(m, w[1:2], LogicalVariable)
15+
@variable(m, w[1:2], Logical)
1616
@constraint(m, x[2] <= -3, DisjunctConstraint(w[1]))
1717
@constraint(m, x[2] >= 3, DisjunctConstraint(w[2]))
1818
@constraint(m, x[3] == 0, DisjunctConstraint(w[2]))
1919
@disjunction(m, w, DisjunctConstraint(y[1]))
2020
@constraint(m, w in Exactly(y[1]))
2121

22-
@variable(m, z[1:2], LogicalVariable)
22+
@variable(m, z[1:2], Logical)
2323
@constraint(m, x[3] <= -4, DisjunctConstraint(z[1]))
2424
@constraint(m, x[3] >= 4, DisjunctConstraint(z[2]))
2525
@disjunction(m, z, DisjunctConstraint(w[1]))

src/datatypes.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ struct LogicalVariable <: JuMP.AbstractVariable
1616
start_value::Union{Nothing, Bool}
1717
end
1818

19+
const Logical = LogicalVariable
20+
1921
"""
2022
LogicalVariableData
2123

src/variables.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ end
4040
name::String = "")::LogicalVariableRef
4141
4242
Extend `JuMP.add_variable` for [`LogicalVariable`](@ref)s. This
43-
helps enable `@variable(model, [var_expr], LogicalVariable)`.
43+
helps enable `@variable(model, [var_expr], Logical)`.
4444
"""
4545
function JuMP.add_variable(
4646
model::JuMP.Model,

0 commit comments

Comments
 (0)