From ce7a8909121d4c458059935ef6cc5c347866bc57 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 10:57:12 -0400 Subject: [PATCH 01/28] add Logical alias for Logical Variable. Closes #73 --- README.md | 6 +-- examples/ex1.jl | 2 +- examples/ex2.jl | 2 +- examples/ex3.jl | 2 +- examples/ex4.jl | 2 +- examples/ex5.jl | 4 +- examples/ex6.jl | 6 +-- src/constraints.jl | 2 +- src/datatypes.jl | 2 + src/macros.jl | 2 +- src/variables.jl | 2 +- test/constraints/bigm.jl | 26 ++++++------ test/constraints/disjunct.jl | 16 +++---- test/constraints/hull.jl | 42 +++++++++---------- test/constraints/indicator.jl | 14 +++---- test/constraints/proposition.jl | 74 ++++++++++++++++----------------- test/constraints/selector.jl | 28 ++++++------- test/disjunction.jl | 28 ++++++------- test/solve.jl | 4 +- test/variables/logical.jl | 24 +++++------ test/variables/query.jl | 28 ++++++------- 21 files changed, 159 insertions(+), 157 deletions(-) diff --git a/README.md b/README.md index 55bca53..78e69fc 100644 --- a/README.md +++ b/README.md @@ -45,10 +45,10 @@ data = gdp_data(model) ## Logical Variables -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: +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: ```julia -@variable(model, Y[1:3], LogicalVariable) +@variable(model, Y[1:3], Logical) ``` ## Logical Constraints @@ -134,7 +134,7 @@ using DisjunctiveProgramming m = GDPModel() @variable(m, 0 ≤ x[1:2] ≤ 20) -@variable(m, Y[1:2], LogicalVariable) +@variable(m, Y[1:2], Logical) @constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) @constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) @disjunction(m, Y) diff --git a/examples/ex1.jl b/examples/ex1.jl index b6810d7..67b577a 100644 --- a/examples/ex1.jl +++ b/examples/ex1.jl @@ -7,7 +7,7 @@ using HiGHS # Disjunction Method 1: Assign Logical Variables Explicitly m = GDPModel() @variable(m, -5 ≤ x ≤ 10) -@variable(m, Y[1:2], LogicalVariable) +@variable(m, Y[1:2], Logical) @constraint(m, 0 ≤ x ≤ 3, DisjunctConstraint(Y[1])) @constraint(m, 5 ≤ x, DisjunctConstraint(Y[2])) @constraint(m, x ≤ 9, DisjunctConstraint(Y[2])) diff --git a/examples/ex2.jl b/examples/ex2.jl index d23a540..9b8dd2d 100644 --- a/examples/ex2.jl +++ b/examples/ex2.jl @@ -5,7 +5,7 @@ using HiGHS m = GDPModel(HiGHS.Optimizer) @variable(m, 0 ≤ x[1:2] ≤ 20) -@variable(m, Y[1:2], LogicalVariable) +@variable(m, Y[1:2], Logical) @constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) @constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) @disjunction(m, Y) diff --git a/examples/ex3.jl b/examples/ex3.jl index 39481be..3157240 100644 --- a/examples/ex3.jl +++ b/examples/ex3.jl @@ -3,7 +3,7 @@ using DisjunctiveProgramming m = GDPModel() @variable(m, -5 ≤ x ≤ 10) -@variable(m, Y[1:2], LogicalVariable) +@variable(m, Y[1:2], Logical) @constraint(m, exp(x) <= 2, DisjunctConstraint(Y[1])) @constraint(m, x >= -3, DisjunctConstraint(Y[1])) @constraint(m, exp(x) >= 3, DisjunctConstraint(Y[2])) diff --git a/examples/ex4.jl b/examples/ex4.jl index 77ec314..cfb82b7 100644 --- a/examples/ex4.jl +++ b/examples/ex4.jl @@ -6,7 +6,7 @@ using DisjunctiveProgramming # ¬((Y[1] ∧ ¬Y[2]) ⇔ (Y[3] ∨ Y[4])) m = GDPModel() -@variable(m, Y[1:4], LogicalVariable) +@variable(m, Y[1:4], Logical) @constraint(m, ¬((Y[1] ∧ ¬Y[2]) ⇔ (Y[3] ∨ Y[4])) ∈ IsTrue()) reformulate_model(m, BigM()) print(m) diff --git a/examples/ex5.jl b/examples/ex5.jl index 20b5549..be71733 100644 --- a/examples/ex5.jl +++ b/examples/ex5.jl @@ -6,8 +6,8 @@ using DisjunctiveProgramming ## m = GDPModel() @variable(m, 1 ≤ x[1:2] ≤ 9) -@variable(m, Y[1:2], LogicalVariable) -@variable(m, W[1:2], LogicalVariable) +@variable(m, Y[1:2], Logical) +@variable(m, W[1:2], Logical) @objective(m, Max, sum(x)) @constraint(m, y1[i=1:2], [1,4][i] ≤ x[i] ≤ [3,6][i], DisjunctConstraint(Y[1])) @constraint(m, w1[i=1:2], [1,5][i] ≤ x[i] ≤ [2,6][i], DisjunctConstraint(W[1])) diff --git a/examples/ex6.jl b/examples/ex6.jl index 0fb3ea2..3824dc5 100644 --- a/examples/ex6.jl +++ b/examples/ex6.jl @@ -5,7 +5,7 @@ using DisjunctiveProgramming m = GDPModel() @variable(m, -5 <= x[1:3] <= 5) -@variable(m, y[1:2], LogicalVariable) +@variable(m, y[1:2], Logical) @constraint(m, x[1] <= -2, DisjunctConstraint(y[1])) @constraint(m, x[1] >= 2, DisjunctConstraint(y[2])) @constraint(m, x[2] == -1, DisjunctConstraint(y[2])) @@ -13,14 +13,14 @@ m = GDPModel() @disjunction(m, y) @constraint(m, y in Exactly(1)) -@variable(m, w[1:2], LogicalVariable) +@variable(m, w[1:2], Logical) @constraint(m, x[2] <= -3, DisjunctConstraint(w[1])) @constraint(m, x[2] >= 3, DisjunctConstraint(w[2])) @constraint(m, x[3] == 0, DisjunctConstraint(w[2])) @disjunction(m, w, DisjunctConstraint(y[1])) @constraint(m, w in Exactly(y[1])) -@variable(m, z[1:2], LogicalVariable) +@variable(m, z[1:2], Logical) @constraint(m, x[3] <= -4, DisjunctConstraint(z[1])) @constraint(m, x[3] >= 4, DisjunctConstraint(z[2])) @disjunction(m, z, DisjunctConstraint(w[1])) diff --git a/src/constraints.jl b/src/constraints.jl index 1c8941f..c275172 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -419,7 +419,7 @@ To select exactly 1 logical variable `Y` to be `true`, do ```jldoctest julia> model = GDPModel(); -julia> @variable(model, Y[i = 1:2], LogicalVariable); +julia> @variable(model, Y[i = 1:2], Logical); julia> @constraint(model, [Y[1], Y[2]] in Exactly(1)); ``` diff --git a/src/datatypes.jl b/src/datatypes.jl index b477358..292b495 100644 --- a/src/datatypes.jl +++ b/src/datatypes.jl @@ -16,6 +16,8 @@ struct LogicalVariable <: JuMP.AbstractVariable start_value::Union{Nothing, Bool} end +const Logical = LogicalVariable + """ LogicalVariableData diff --git a/src/macros.jl b/src/macros.jl index 1ea2aff..8e6aec2 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -292,7 +292,7 @@ julia> @variable(model, w); julia> @variable(model, x); -julia> @variable(model, Y[1:4], LogicalVariable); +julia> @variable(model, Y[1:4], Logical); julia> @constraint(model, [i=1:2], w == i, DisjunctConstraint(Y[i])); diff --git a/src/variables.jl b/src/variables.jl index a3f79a8..922e2cb 100644 --- a/src/variables.jl +++ b/src/variables.jl @@ -40,7 +40,7 @@ end name::String = "")::LogicalVariableRef Extend `JuMP.add_variable` for [`LogicalVariable`](@ref)s. This -helps enable `@variable(model, [var_expr], LogicalVariable)`. +helps enable `@variable(model, [var_expr], Logical)`. """ function JuMP.add_variable( model::JuMP.Model, diff --git a/test/constraints/bigm.jl b/test/constraints/bigm.jl index b1666b9..d31d9e3 100644 --- a/test/constraints/bigm.jl +++ b/test/constraints/bigm.jl @@ -19,7 +19,7 @@ end function test_get_M_1sided() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, 3*x <= 1, DisjunctConstraint(y)) cobj = constraint_object(con) M = DP._get_M(cobj.func, cobj.set, BigM(100, false)) @@ -30,7 +30,7 @@ end function test_get_tight_M_1sided() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, 3*x <= 1, DisjunctConstraint(y)) cobj = constraint_object(con) @@ -53,7 +53,7 @@ end function test_get_M_2sided() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, 3*x == 1, DisjunctConstraint(y)) cobj = constraint_object(con) @@ -69,7 +69,7 @@ end function test_get_tight_M_2sided() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, 3*x == 1, DisjunctConstraint(y)) cobj = constraint_object(con) @@ -176,7 +176,7 @@ end function test_lessthan_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, x <= 5, DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -190,7 +190,7 @@ end function test_nonpositives_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, [x; x] <= [5; 5], DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -205,7 +205,7 @@ end function test_greaterhan_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, x >= 5, DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -219,7 +219,7 @@ end function test_nonnegatives_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, [x; x] >= [5; 5], DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -234,7 +234,7 @@ end function test_greaterhan_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, x == 5, DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -250,7 +250,7 @@ end function test_greaterhan_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, 5 <= x <= 5, DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -266,7 +266,7 @@ end function test_zeros_bigm() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, con, [x; x] == [5; 5], DisjunctConstraint(y)) DP._reformulate_logical_variables(model) @@ -284,8 +284,8 @@ end function test_nested_bigm() model = GDPModel() @variable(model, -100 <= x <= 100) - @variable(model, y[1:2], LogicalVariable) - @variable(model, z[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) + @variable(model, z[1:2], Logical) @constraint(model, x <= 5, DisjunctConstraint(y[1])) @constraint(model, x >= 5, DisjunctConstraint(y[2])) @disjunction(model, inner, y, DisjunctConstraint(z[1])) diff --git a/test/constraints/disjunct.jl b/test/constraints/disjunct.jl index c840199..6b7c80b 100644 --- a/test/constraints/disjunct.jl +++ b/test/constraints/disjunct.jl @@ -1,10 +1,10 @@ function test_disjunct_add_fail() model = GDPModel() @variable(model, x) - @variable(GDPModel(), y, LogicalVariable) + @variable(GDPModel(), y, Logical) @test_macro_throws UndefVarError @constraint(model, x == 1, DisjunctConstraint(y)) # logical variable from another model - @variable(model, w, LogicalVariable) + @variable(model, w, Logical) @variable(model, z, Bin) @test_macro_throws UndefVarError @constraint(model, z == 1, DisjunctConstraint(w)) # binary variable end @@ -12,7 +12,7 @@ end function test_disjunct_add_success() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) c1 = @constraint(model, x == 1, DisjunctConstraint(y)) @constraint(model, c2, x == 1, DisjunctConstraint(y)) @test owner_model(c1) == model @@ -34,7 +34,7 @@ end function test_disjunct_add_array() model = GDPModel() @variable(model, x) - @variable(model, y[1:2, 1:3], LogicalVariable) + @variable(model, y[1:2, 1:3], Logical) @constraint(model, con[i=1:2, j=1:3], x == 1, DisjunctConstraint(y[i,j])) @test con isa Matrix{DisjunctConstraintRef} @test length(con) == 6 @@ -45,7 +45,7 @@ function test_disjunct_add_dense_axis() @variable(model, x) I = ["a", "b", "c"] J = [1, 2] - @variable(model, y[I, J], LogicalVariable) + @variable(model, y[I, J], Logical) @constraint(model, con[i=I, j=J], x == 1, DisjunctConstraint(y[i,j])) @test con isa Containers.DenseAxisArray @@ -57,7 +57,7 @@ end function test_disjunct_add_sparse_axis() model = GDPModel() @variable(model, x) - @variable(model, y[1:3, 1:3], LogicalVariable) + @variable(model, y[1:3, 1:3], Logical) @constraint(model, con[i=1:3, j=1:3; j > i], x==i+j, DisjunctConstraint(y[i,j])) @test con isa Containers.SparseAxisArray @@ -69,7 +69,7 @@ end function test_disjunct_set_name() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) c1 = @constraint(model, x == 1, DisjunctConstraint(y)) set_name(c1, "new name") @test name(c1) == "new name" @@ -78,7 +78,7 @@ end function test_disjunct_delete() model = GDPModel() @variable(model, x) - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, c1, x == 1, DisjunctConstraint(y)) @test_throws AssertionError delete(GDPModel(), c1) diff --git a/test/constraints/hull.jl b/test/constraints/hull.jl index a6be5c1..460f60c 100644 --- a/test/constraints/hull.jl +++ b/test/constraints/hull.jl @@ -38,7 +38,7 @@ function test_disaggregate_variables() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, y, Bin) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) vrefs = Set([x,y]) DP._reformulate_logical_variables(model) method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) @@ -64,7 +64,7 @@ end function test_aggregate_variable() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) vrefs = Set([x]) DP._reformulate_logical_variables(model) method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) @@ -79,7 +79,7 @@ end function test_disaggregate_expression_affine() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -96,7 +96,7 @@ end function test_disaggregate_expression_quadratic() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -119,7 +119,7 @@ end function test_disaggregate_nl_expression_c() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -134,7 +134,7 @@ end function test_disaggregate_nl_expression_var() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -154,7 +154,7 @@ end function test_disaggregate_nl_expression_aff() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -177,7 +177,7 @@ end function test_disaggregate_nl_expression_quad() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -200,7 +200,7 @@ end function test_disaggregate_nl_expession() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) @@ -228,7 +228,7 @@ end function test_scalar_var_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, x in moiset(5), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -245,7 +245,7 @@ end function test_scalar_affine_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, 1x in moiset(5), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -262,7 +262,7 @@ end function test_vector_var_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, [x; x] in moiset(2), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -278,7 +278,7 @@ end function test_vector_affine_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, [x - 5; x - 5] in moiset(2), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -294,7 +294,7 @@ end function test_scalar_quadratic_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, x^2 in moiset(5), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -319,7 +319,7 @@ end function test_vector_quadratic_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, [x^2 - 5; x^2 - 5] in moiset(2), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -344,7 +344,7 @@ end function test_scalar_nonlinear_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, x^3 in moiset(5), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -374,7 +374,7 @@ end function test_vector_nonlinear_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, [x^3 - 5; x^3 - 5] in moiset(2), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -407,7 +407,7 @@ end function test_scalar_var_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, x in MOI.Interval(5,5), DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -427,7 +427,7 @@ end function test_scalar_affine_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, 5 <= x <= 5, DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -447,7 +447,7 @@ end function test_scalar_quadratic_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, 5 <= x^2 <= 5, DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") @@ -474,7 +474,7 @@ end function test_scalar_nonlinear_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) - @variable(model, z, LogicalVariable) + @variable(model, z, Logical) @constraint(model, con, 5 <= x^3 <= 5, DisjunctConstraint(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") diff --git a/test/constraints/indicator.jl b/test/constraints/indicator.jl index f4f7c0a..2c17f03 100644 --- a/test/constraints/indicator.jl +++ b/test/constraints/indicator.jl @@ -1,7 +1,7 @@ function test_indicator_scalar_constraints() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) @constraint(model, x <= 5, DisjunctConstraint(y[1])) @constraint(model, x >= 5, DisjunctConstraint(y[1])) @@ -23,7 +23,7 @@ function test_indicator_vector_constraints() model = GDPModel() A = [1 0; 0 1] @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, A*[x,x] == [5,5], DisjunctConstraint(y[1])) @constraint(model, A*[x,x] == [10,10], DisjunctConstraint(y[2])) @disjunction(model, y) @@ -40,7 +40,7 @@ end function test_indicator_array() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, [1:3, 1:2], x <= 6, DisjunctConstraint(y[1])) @constraint(model, [1:3, 1:2], x >= 6, DisjunctConstraint(y[2])) @disjunction(model, y) @@ -57,7 +57,7 @@ end function test_indicator_dense_axis() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, [["a","b","c"],[1,2]], x <= 7, DisjunctConstraint(y[1])) @constraint(model, [["a","b","c"],[1,2]], x >= 7, DisjunctConstraint(y[2])) @disjunction(model, y) @@ -74,7 +74,7 @@ end function test_indicator_sparse_axis() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, [i = 1:3, j = 1:3; j > i], x <= 7, DisjunctConstraint(y[1])) @constraint(model, [i = 1:3, j = 1:3; j > i], x >= 7, DisjunctConstraint(y[2])) @disjunction(model, y) @@ -91,8 +91,8 @@ end function test_indicator_nested() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) - @variable(model, z[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) + @variable(model, z[1:2], Logical) @constraint(model, x <= 5, DisjunctConstraint(y[1])) @constraint(model, x >= 5, DisjunctConstraint(y[2])) @disjunction(model, y, DisjunctConstraint(z[1])) diff --git a/test/constraints/proposition.jl b/test/constraints/proposition.jl index 75cfb46..429eb77 100644 --- a/test/constraints/proposition.jl +++ b/test/constraints/proposition.jl @@ -1,6 +1,6 @@ function test_proposition_add_fail() m = GDPModel() - @variable(m, y[1:3], LogicalVariable) + @variable(m, y[1:3], Logical) @test_throws ErrorException @constraint(Model(), logical_or(y...) in IsTrue()) @test_throws ErrorException @constraint(m, logical_or(y...) == 2) @test_throws ErrorException @constraint(m, logical_or(y...) <= 1) @@ -13,7 +13,7 @@ end function test_negation_add_success() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) c1 = @constraint(model, logical_not(y) in IsTrue()) @constraint(model, c2, ¬y in IsTrue()) @test is_valid(model, c1) @@ -40,7 +40,7 @@ end function test_implication_add_success() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, c1, implies(y...) in IsTrue()) @constraint(model, c2, (y[1] ⟹ y[2]) in IsTrue()) @test_macro_throws ErrorException @constraint(model, y[1] ⟹ y[2] in IsTrue()) @@ -54,7 +54,7 @@ end function test_equivalence_add_success() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, c1, iff(y...) in IsTrue()) @constraint(model, c2, (y[1] ⇔ y[2]) in IsTrue()) @test_macro_throws ErrorException @constraint(model, y[1] ⇔ y[2] in IsTrue()) @@ -68,7 +68,7 @@ end function test_intersection_and_flatten_add_success() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, c1, logical_and(y...) in IsTrue()) @constraint(model, c2, ∧(y...) in IsTrue()) @constraint(model, c3, y[1] ∧ y[2] ∧ y[3] in IsTrue()) @@ -88,7 +88,7 @@ end function test_union_and_flatten_add_success() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, c1, logical_or(y...) in IsTrue()) @constraint(model, c2, ∨(y...) in IsTrue()) @constraint(model, c3, y[1] ∨ y[2] ∨ y[3] in IsTrue()) @@ -108,7 +108,7 @@ end function test_proposition_add_array() model = GDPModel() - @variable(model, y[1:2, 1:3, 1:4], LogicalVariable) + @variable(model, y[1:2, 1:3, 1:4], Logical) @constraint(model, con[i=1:2,j=1:3], ∨(y[i,j,:]...) in IsTrue()) @test con isa Matrix{LogicalConstraintRef} @test length(con) == 6 @@ -118,7 +118,7 @@ function test_proposition_add_dense_axis() model = GDPModel() I = ["a", "b", "c"] J = [1, 2] - @variable(model, y[I, J, 1:4], LogicalVariable) + @variable(model, y[I, J, 1:4], Logical) @constraint(model, con[i=I,j=J], ∨(y[i,j,:]...) in IsTrue()) @test con isa Containers.DenseAxisArray @test con.axes[1] == ["a","b","c"] @@ -128,7 +128,7 @@ end function test_proposition_add_sparse_axis() model = GDPModel() - @variable(model, y[1:3, 1:3, 1:4], LogicalVariable) + @variable(model, y[1:3, 1:3, 1:4], Logical) @constraint(model, con[i=1:3,j=1:3; j > i], ∨(y[i,j,:]...) in IsTrue()) @test con isa Containers.SparseAxisArray @test length(con) == 3 @@ -138,7 +138,7 @@ end function test_proposition_set_name() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) c1 = @constraint(model, logical_not(y...) in IsTrue()) set_name(c1, "proposition") @test name(c1) == "proposition" @@ -146,7 +146,7 @@ end function test_proposition_delete() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) c1 = @constraint(model, logical_not(y...) in IsTrue()) @test_throws AssertionError delete(GDPModel(), c1) @@ -157,7 +157,7 @@ end function test_negation_reformulation() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @constraint(model, ¬y in IsTrue()) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -169,7 +169,7 @@ end function test_implication_reformulation() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, implies(y[1], y[2]) in IsTrue()) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -183,14 +183,14 @@ end function test_implication_reformulation_fail() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, implies(y...) in IsTrue()) @test_throws ErrorException reformulate_model(model, DummyReformulation()) end function test_equivalence_reformulation() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, iff(y[1], y[2]) in IsTrue()) reformulate_model(model, DummyReformulation()) ref_cons = DP._reformulation_constraints(model) @@ -208,7 +208,7 @@ end function test_intersection_reformulation() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, ∧(y[1], y[2]) in IsTrue()) reformulate_model(model, DummyReformulation()) ref_cons = DP._reformulation_constraints(model) @@ -224,7 +224,7 @@ end function test_implication_reformulation() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, ∨(y[1], y[2]) in IsTrue()) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -238,7 +238,7 @@ end function test_lvar_cnf_functions() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test DP._eliminate_equivalence(y) == y @test DP._eliminate_implication(y) == y @test DP._move_negations_inward(y) == y @@ -251,7 +251,7 @@ end function test_eliminate_equivalence() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) ex = y[1] ⇔ y[2] new_ex = DP._eliminate_equivalence(ex) @test new_ex.head == :&& @@ -264,7 +264,7 @@ end function test_eliminate_equivalence_flat() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) ex = iff(y...) new_ex = DP._eliminate_equivalence(ex) @test new_ex.head == :&& @@ -281,7 +281,7 @@ end function test_eliminate_equivalence_nested() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) ex = iff(y[1], iff(y[2],y[3])) new_ex = DP._eliminate_equivalence(ex) @test new_ex.head == :&& @@ -298,7 +298,7 @@ end function test_eliminate_implication() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) ex = y[1] ⟹ y[2] new_ex = DP._eliminate_implication(ex) @test new_ex.head == :|| @@ -309,14 +309,14 @@ end function test_eliminate_implication_error() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) ex = implies(y...) @test_throws ErrorException DP._eliminate_implication(ex) end function test_eliminate_implication_nested() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) ex = (y[1] ⟹ y[2]) ⟹ y[3] new_ex = DP._eliminate_implication(ex) @test new_ex.head == :|| @@ -330,14 +330,14 @@ end function test_move_negation_inward_error() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) ex = ¬(y, y) @test_throws ErrorException DP._move_negations_inward(ex) end function test_move_negation_inward() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) ex = ¬y new_ex = DP._move_negations_inward(ex) @test new_ex.head == :! @@ -346,20 +346,20 @@ end function test_move_negation_inward_nested() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) ex = ¬¬y @test DP._move_negations_inward(ex) == y end function test_negate_error() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test_throws ErrorException DP._negate(iff(y,y)) end function test_negate_or() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) ex = ∨(y...) new_ex = DP._negate_or(ex) @test new_ex.head == :&& @@ -371,13 +371,13 @@ end function test_negate_or_error() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test_throws ErrorException DP._negate_or(∨(y)) end function test_negate_and() model = GDPModel() - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) ex = ∧(y...) new_ex = DP._negate_and(ex) @test new_ex.head == :|| @@ -389,25 +389,25 @@ end function test_negate_and_error() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test_throws ErrorException DP._negate_or(∧(y)) end function test_negate_negation() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test DP._negate_negation(¬y) == y end function test_negate_negation_error() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test_throws ErrorException DP._negate_negation(¬(y,y)) end function test_distribute_and_over_or() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) ex = y[1] ∨ (y[2] ∧ y[3]) new_ex = DP._distribute_and_over_or(ex) @test new_ex.head == :&& @@ -421,7 +421,7 @@ end function test_distribute_and_over_or_nested() model = GDPModel() - @variable(model, y[1:4], LogicalVariable) + @variable(model, y[1:4], Logical) ex = (y[1] ∧ y[2]) ∨ (y[3] ∧ y[4]) new_ex = DP._flatten(DP._distribute_and_over_or(ex)) for arg in new_ex.args @@ -450,7 +450,7 @@ end function test_to_cnf() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) ex = iff(y...) new_ex = DP._to_cnf(ex) @test new_ex.head == :&& diff --git a/test/constraints/selector.jl b/test/constraints/selector.jl index ab7ae37..cfbc521 100644 --- a/test/constraints/selector.jl +++ b/test/constraints/selector.jl @@ -1,6 +1,6 @@ function test_selector_add_fail() m = GDPModel() - @variable(m, y[1:3], LogicalVariable) + @variable(m, y[1:3], Logical) @test_throws ErrorException @constraint(Model(), y in AtMost(2)) @test_throws ErrorException @constraint(m, logical_or(y...) in Exactly(1)) @test_throws ErrorException @constraint(m, sin.(y) in Exactly(1)) @@ -11,7 +11,7 @@ end function test_selector_add_success() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) c1 = @constraint(model, y in Exactly(1)) @constraint(model, c2, y in Exactly(1)) @test owner_model(c1) == model @@ -34,7 +34,7 @@ end function test_nested_selector_add_success() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) c1 = @constraint(model, y[1:2] in Exactly(y[3])) @test is_valid(model, c1) @test length(constraint_object(c1).func) == 3 @@ -45,7 +45,7 @@ end function test_selector_add_array() model = GDPModel() - @variable(model, y[1:2, 1:3, 1:4], LogicalVariable) + @variable(model, y[1:2, 1:3, 1:4], Logical) @constraint(model, con[i=1:2, j=1:3], y[i,j,:] in Exactly(1)) @test con isa Matrix{LogicalConstraintRef} @test length(con) == 6 @@ -55,7 +55,7 @@ function test_selector_add_dense_axis() model = GDPModel() I = ["a", "b", "c"] J = [1, 2] - @variable(model, y[I, J, 1:4], LogicalVariable) + @variable(model, y[I, J, 1:4], Logical) @constraint(model, con[i=I, j=J], y[i,j,:] in Exactly(1)) @test con isa Containers.DenseAxisArray @test con.axes[1] == ["a","b","c"] @@ -65,7 +65,7 @@ end function test_selector_add_sparse_axis() model = GDPModel() - @variable(model, y[1:3, 1:3, 1:4], LogicalVariable) + @variable(model, y[1:3, 1:3, 1:4], Logical) @constraint(model, con[i=1:3, j=1:3; j > i], y[i,j,:] in Exactly(1)) @test con isa Containers.SparseAxisArray @test length(con) == 3 @@ -75,7 +75,7 @@ end function test_selector_set_name() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) c1 = @constraint(model, y in Exactly(1)) set_name(c1, "selector") @test name(c1) == "selector" @@ -83,7 +83,7 @@ end function test_selector_delete() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) c1 = @constraint(model, y in Exactly(1)) @test_throws AssertionError delete(GDPModel(), c1) @@ -95,7 +95,7 @@ end function test_exactly_reformulation() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, y in Exactly(1)) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -107,7 +107,7 @@ end function test_atleast_reformulation() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, y in AtLeast(1)) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -119,7 +119,7 @@ end function test_atmost_reformulation() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, y in AtMost(1)) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -131,7 +131,7 @@ end function test_nested_exactly_reformulation() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, y[1:2] in Exactly(y[3])) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -146,7 +146,7 @@ end function test_nested_atleast_reformulation() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, y[1:2] in AtLeast(y[3])) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] @@ -161,7 +161,7 @@ end function test_nested_atmost_reformulation() model = GDPModel() - @variable(model, y[1:3], LogicalVariable) + @variable(model, y[1:3], Logical) @constraint(model, y[1:2] in AtMost(y[3])) reformulate_model(model, DummyReformulation()) ref_con = DP._reformulation_constraints(model)[1] diff --git a/test/disjunction.jl b/test/disjunction.jl index 1032e6e..b44620f 100644 --- a/test/disjunction.jl +++ b/test/disjunction.jl @@ -1,7 +1,7 @@ function test_disjunction_add_fail() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) @test_macro_throws ErrorException @disjunction(model) #not enough arguments @@ -26,7 +26,7 @@ end function test_disjunction_add_success() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) @constraint(model, x == 10, DisjunctConstraint(y[2])) disj = @disjunction(model, y) @@ -47,8 +47,8 @@ end function test_disjunction_add_nested() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) - @variable(model, z[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) + @variable(model, z[1:2], Logical) @constraint(model, x <= 5, DisjunctConstraint(y[1])) @constraint(model, x >= 5, DisjunctConstraint(y[2])) @disjunction(model, inner, y, DisjunctConstraint(z[1])) @@ -69,7 +69,7 @@ end function test_disjunction_add_array() model=GDPModel() @variable(model, x) - @variable(model, y[1:2, 1:3, 1:4], LogicalVariable) + @variable(model, y[1:2, 1:3, 1:4], Logical) @constraint(model, con[i=1:2, j=1:3, k=1:4], x==i+j+k, DisjunctConstraint(y[i,j,k])) @disjunction(model, disj[i=1:2, j=1:3], y[i,j,:]) @@ -83,7 +83,7 @@ function test_disjunciton_add_dense_axis() @variable(model, x) I = ["a", "b", "c"] J = [1, 2] - @variable(model, y[I, J, 1:4], LogicalVariable) + @variable(model, y[I, J, 1:4], Logical) @constraint(model, con[i=I, j=J, k=1:4], x==k, DisjunctConstraint(y[i,j,k])) @disjunction(model, disj[i=I, j=J], y[i,j,:]) @@ -96,7 +96,7 @@ end function test_disjunction_add_sparse_axis() model = GDPModel() @variable(model, x) - @variable(model, y[1:3, 1:3, 1:4], LogicalVariable) + @variable(model, y[1:3, 1:3, 1:4], Logical) @constraint(model, con[i=1:3, j=1:3, k=1:4; j > i], x==i+j+k, DisjunctConstraint(y[i,j,k])) @disjunction(model, disj[i=1:3, j=1:3; j > i], y[i,j,:]) @@ -109,8 +109,8 @@ end function test_disjunctions_add_success() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) - @variable(model, z[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) + @variable(model, z[1:2], Logical) @constraint(model, x <= 5, DisjunctConstraint(y[1])) @constraint(model, x >= 5, DisjunctConstraint(y[2])) @constraint(model, x <= 10, DisjunctConstraint(z[1])) @@ -136,7 +136,7 @@ end function test_disjunction_set_name() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) @constraint(model, x == 10, DisjunctConstraint(y[2])) @disjunction(model, disj, y) @@ -147,7 +147,7 @@ end function test_disjunction_delete() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) @constraint(model, x == 10, DisjunctConstraint(y[2])) @disjunction(model, disj, y) @@ -161,7 +161,7 @@ end function test_disjunction_function() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) @constraint(model, x == 10, DisjunctConstraint(y[2])) disj = disjunction(model, y, "name") @@ -176,8 +176,8 @@ end function test_disjunction_function_nested() model = GDPModel() @variable(model, x) - @variable(model, y[1:2], LogicalVariable) - @variable(model, z[1:2], LogicalVariable) + @variable(model, y[1:2], Logical) + @variable(model, z[1:2], Logical) @constraint(model, x <= 5, DisjunctConstraint(y[1])) @constraint(model, x >= 5, DisjunctConstraint(y[2])) @constraint(model, x <= 10, DisjunctConstraint(z[1])) diff --git a/test/solve.jl b/test/solve.jl index 697ccde..32a2c40 100644 --- a/test/solve.jl +++ b/test/solve.jl @@ -4,8 +4,8 @@ function test_linear_gdp_example() m = GDPModel(HiGHS.Optimizer) set_attribute(m, MOI.Silent(), true) @variable(m, 1 ≤ x[1:2] ≤ 9) - @variable(m, Y[1:2], LogicalVariable) - @variable(m, W[1:2], LogicalVariable) + @variable(m, Y[1:2], Logical) + @variable(m, W[1:2], Logical) @objective(m, Max, sum(x)) @constraint(m, y1[i=1:2], [1,4][i] ≤ x[i] ≤ [3,6][i], DisjunctConstraint(Y[1])) @constraint(m, w1[i=1:2], [1,5][i] ≤ x[i] ≤ [2,6][i], DisjunctConstraint(W[1])) diff --git a/test/variables/logical.jl b/test/variables/logical.jl index 489474f..b57a024 100644 --- a/test/variables/logical.jl +++ b/test/variables/logical.jl @@ -1,12 +1,12 @@ # test creating, modifying, and reformulating logical variables function test_lvar_add_fail() model = Model() - @test_throws ErrorException @variable(model, y, LogicalVariable) + @test_throws ErrorException @variable(model, y, Logical) end function test_lvar_add_success() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test typeof(y) == LogicalVariableRef @test owner_model(y) == model @test is_valid(model, y) @@ -24,14 +24,14 @@ end function test_lvar_add_array() model = GDPModel() - @variable(model, y[1:3, 1:2], LogicalVariable) + @variable(model, y[1:3, 1:2], Logical) @test y isa Array{LogicalVariableRef, 2} @test length(y) == 6 end function test_lvar_add_dense_axis() model = GDPModel() - @variable(model, y[["a","b","c"],[1,2]], LogicalVariable) + @variable(model, y[["a","b","c"],[1,2]], Logical) @test y isa Containers.DenseAxisArray @test length(y) == 6 @test y.axes[1] == ["a","b","c"] @@ -41,7 +41,7 @@ end function test_lvar_add_sparse_axis() model = GDPModel() - @variable(model, y[i = 1:3, j = 1:3; j > i], LogicalVariable) + @variable(model, y[i = 1:3, j = 1:3; j > i], Logical) @test y isa Containers.SparseAxisArray @test length(y) == 3 @test y.names == (:i, :j) @@ -50,7 +50,7 @@ end function test_lvar_set_name() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) set_name(y, "z") @test name(y) == "z" #reformulate the variable @@ -59,7 +59,7 @@ end function test_lvar_creation_start_value() model = GDPModel() - @variable(model, y, LogicalVariable, start = true) + @variable(model, y, Logical, start = true) @test start_value(y) #reformulate the variable test_lvar_reformulation(model, y) @@ -67,7 +67,7 @@ end function test_lvar_set_start_value() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test isnothing(start_value(y)) set_start_value(y, false) @test !start_value(y) @@ -77,7 +77,7 @@ end function test_lvar_fix_value() model = GDPModel() - @variable(model, y, LogicalVariable) + @variable(model, y, Logical) @test isnothing(fix_value(y)) fix(y, true) @test fix_value(y) @@ -90,8 +90,8 @@ end function test_lvar_delete() model = GDPModel() - @variable(model, y, LogicalVariable) - @variable(model, z, LogicalVariable) + @variable(model, y, Logical) + @variable(model, z, Logical) @variable(model, x) @constraint(model, con, x <= 10, DisjunctConstraint(y)) @constraint(model, con2, x >= 50, DisjunctConstraint(z)) @@ -115,7 +115,7 @@ end function test_lvar_reformulation() model = GDPModel() - @variable(model, y, LogicalVariable, start = false) + @variable(model, y, Logical, start = false) fix(y, true) test_lvar_reformulation(model, y) end diff --git a/test/variables/query.jl b/test/variables/query.jl index 8ed7015..d308a53 100644 --- a/test/variables/query.jl +++ b/test/variables/query.jl @@ -18,7 +18,7 @@ function test_interrogate_variables() f = Base.Fix1(push!, vars) #interrogator m = GDPModel() @variable(m, x) - @variable(m, y, LogicalVariable) + @variable(m, y, Logical) DP._interrogate_variables(f, [x, y]) @test x in vars @test y in vars @@ -30,7 +30,7 @@ function test_interrogate_affexpr() f = Base.Fix1(push!, vars) #interrogator m = GDPModel() @variable(m, x) - @variable(m, y, LogicalVariable) + @variable(m, y, Logical) @variable(m, z) DP._interrogate_variables(f, x + y + z) @test x in vars @@ -44,7 +44,7 @@ function test_interrogate_quadexpr() f = Base.Fix1(push!, vars) #interrogator m = GDPModel() @variable(m, x) - @variable(m, y, LogicalVariable) + @variable(m, y, Logical) @variable(m, z) DP._interrogate_variables(f, x^2 + x*y + z + 1) @test x in vars @@ -59,7 +59,7 @@ function test_interrogate_nonlinear_expr() f = Base.Fix1(push!, vars) #interrogator m = GDPModel() @variable(m, x) - @variable(m, y, LogicalVariable) + @variable(m, y, Logical) @variable(m, z) DP._interrogate_variables(f, sin(exp(x^2 + 1)) + cos(x) + y + 2) @test x in vars @@ -72,8 +72,8 @@ function test_interrogate_logical_expr() vars = Set() f = Base.Fix1(push!, vars) #interrogator m = GDPModel() - @variable(m, y, LogicalVariable) - @variable(m, w[1:5], LogicalVariable) + @variable(m, y, Logical) + @variable(m, w[1:5], Logical) ex = (implies(w[1], w[2]) ∧ w[3]) ⇔ (¬w[4] ∨ y) DP._interrogate_variables(f, ex) @test w[1] in vars @@ -87,8 +87,8 @@ end function test_interrogate_proposition_constraint() m = GDPModel() - @variable(m, y, LogicalVariable) - @variable(m, w[1:5], LogicalVariable) + @variable(m, y, Logical) + @variable(m, w[1:5], Logical) ex = (implies(w[1], w[2]) ∧ w[3]) ⇔ (¬w[4] ∨ y) @constraint(m, con, ex in IsTrue()) obj = constraint_object(con) @@ -104,8 +104,8 @@ end function test_interrogate_selector_constraint() m = GDPModel() - @variable(m, y, LogicalVariable) - @variable(m, w[1:5], LogicalVariable) + @variable(m, y, Logical) + @variable(m, w[1:5], Logical) @constraint(m, con, w[1:4] in AtMost(y)) obj = constraint_object(con) vars = DP._get_constraint_variables(m, obj) @@ -121,7 +121,7 @@ end function test_interrogate_disjunction() m = GDPModel() @variable(m, -5 ≤ x[1:2] ≤ 10) - @variable(m, Y[1:2], LogicalVariable) + @variable(m, Y[1:2], Logical) @constraint(m, [i = 1:2], 0 ≤ x[i] ≤ [3,4][i], DisjunctConstraint(Y[1])) @constraint(m, [i = 1:2], [5,4][i] ≤ x[i] ≤ [9,6][i], DisjunctConstraint(Y[2])) @disjunction(m, Y) @@ -134,17 +134,17 @@ function test_interrogate_nested_disjunction() m = GDPModel() @variable(m, -5 <= x[1:3] <= 5) - @variable(m, y[1:2], LogicalVariable) + @variable(m, y[1:2], Logical) @constraint(m, x[1] <= -2, DisjunctConstraint(y[1])) @constraint(m, x[1] >= 2, DisjunctConstraint(y[2])) @disjunction(m, y) - @variable(m, w[1:2], LogicalVariable) + @variable(m, w[1:2], Logical) @constraint(m, x[2] <= -3, DisjunctConstraint(w[1])) @constraint(m, x[2] >= 3, DisjunctConstraint(w[2])) @disjunction(m, w, DisjunctConstraint(y[1])) - @variable(m, z[1:2], LogicalVariable) + @variable(m, z[1:2], Logical) @constraint(m, x[3] <= -4, DisjunctConstraint(z[1])) @constraint(m, x[3] >= 4, DisjunctConstraint(z[2])) @disjunction(m, z, DisjunctConstraint(w[1])) From 1194c407d59ed7e71c133780123d53b77f288b5f Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 11:35:20 -0400 Subject: [PATCH 02/28] Create CI.yml --- .github/workflows/CI.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/CI.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..14b551e --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,31 @@ +name: CI +on: + push: + branches: + - master + tags: '*' + pull_request: +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + version: + - '1.6' + os: + - ubuntu-latest + - macOS-latest + - windows-latest + arch: + - x64 + steps: + - uses: actions/checkout@v1 + - uses: julia-actions/setup-julia@latest + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/julia-runtest@latest + - uses: julia-actions/julia-uploadcodecov@latest + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 6a56b4df7796f0f916daef6696c679393e9b0164 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 15:02:19 -0400 Subject: [PATCH 03/28] remove using JuMP. remove jldoctests --- README.md | 1 - docs/Project.toml | 2 +- docs/make.jl | 13 +++++++------ examples/ex1.jl | 1 - examples/ex2.jl | 1 - examples/ex3.jl | 1 - examples/ex4.jl | 1 - examples/ex5.jl | 2 -- examples/ex6.jl | 1 - src/constraints.jl | 9 +++++---- src/macros.jl | 28 +++++++++++----------------- test/runtests.jl | 1 - 12 files changed, 24 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 55bca53..f86511a 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,6 @@ Prior to `v0.4.0`, the package did not leverage the JuMP extension capabilities The example below is from the [Cornell University Computational Optimization Open Textbook](https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities#Big-M_Reformulation[1][2]). ```julia -using JuMP using DisjunctiveProgramming m = GDPModel() diff --git a/docs/Project.toml b/docs/Project.toml index dfa65cd..1b16efe 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,2 +1,2 @@ [deps] -Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +DisjunctiveProgramming = "0d27d021-0159-4c7d-b4a7-9ccb5d9366cf" diff --git a/docs/make.jl b/docs/make.jl index 6823b31..627842f 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,12 +1,13 @@ -push!(LOAD_PATH,"../src/") using DisjunctiveProgramming using Documenter makedocs( - sitename = "DisjunctiveProgramming.jl", - modules = [DisjunctiveProgramming], - pages=[ - "Home" => "index.md" - ]) + sitename = "DisjunctiveProgramming.jl", + modules = [DisjunctiveProgramming], + pages=[ + "Home" => "index.md" + ], + checkdocs = :none +) deploydocs(; repo="github.com/hdavid16/DisjunctiveProgramming.jl", ) diff --git a/examples/ex1.jl b/examples/ex1.jl index b6810d7..e92344c 100644 --- a/examples/ex1.jl +++ b/examples/ex1.jl @@ -1,4 +1,3 @@ -using JuMP using DisjunctiveProgramming using HiGHS diff --git a/examples/ex2.jl b/examples/ex2.jl index d23a540..c023525 100644 --- a/examples/ex2.jl +++ b/examples/ex2.jl @@ -1,5 +1,4 @@ # https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities#Big-M_Reformulation[1][2] -using JuMP using DisjunctiveProgramming using HiGHS diff --git a/examples/ex3.jl b/examples/ex3.jl index 39481be..c429e9d 100644 --- a/examples/ex3.jl +++ b/examples/ex3.jl @@ -1,4 +1,3 @@ -using JuMP using DisjunctiveProgramming m = GDPModel() diff --git a/examples/ex4.jl b/examples/ex4.jl index 77ec314..b7bdb21 100644 --- a/examples/ex4.jl +++ b/examples/ex4.jl @@ -1,4 +1,3 @@ -using JuMP using DisjunctiveProgramming # Example with proposition reformulation diff --git a/examples/ex5.jl b/examples/ex5.jl index 20b5549..52cb002 100644 --- a/examples/ex5.jl +++ b/examples/ex5.jl @@ -1,6 +1,4 @@ # https://arxiv.org/pdf/2303.04375.pdf - -using JuMP using DisjunctiveProgramming ## diff --git a/examples/ex6.jl b/examples/ex6.jl index 0fb3ea2..0f9f89a 100644 --- a/examples/ex6.jl +++ b/examples/ex6.jl @@ -1,4 +1,3 @@ -using JuMP using DisjunctiveProgramming ## diff --git a/src/constraints.jl b/src/constraints.jl index 1c8941f..4bc41d3 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -417,10 +417,11 @@ cardinality sets: `AtLeast(n)`, `AtMost(n)`, or `Exactly(n)`. To select exactly 1 logical variable `Y` to be `true`, do (the same can be done with `AtLeast(n)` and `AtMost(n)`): -```jldoctest -julia> model = GDPModel(); -julia> @variable(model, Y[i = 1:2], LogicalVariable); -julia> @constraint(model, [Y[1], Y[2]] in Exactly(1)); +```julia +using DisjunctiveProgramming +model = GDPModel(); +@variable(model, Y[i = 1:2], LogicalVariable); +@constraint(model, [Y[1], Y[2]] in Exactly(1)); ``` JuMP.build_constraint( diff --git a/src/macros.jl b/src/macros.jl index 1ea2aff..9565508 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -285,23 +285,17 @@ The macro returns a tuple containing the disjunctions that were defined. ## Example -```jldoctest -julia> model = GDPModel(); - -julia> @variable(model, w); - -julia> @variable(model, x); - -julia> @variable(model, Y[1:4], LogicalVariable); - -julia> @constraint(model, [i=1:2], w == i, DisjunctConstraint(Y[i])); - -julia> @constraint(model, [i=3:4], x == i, DisjunctConstraint(Y[i])); - -julia> @disjunctions(model, begin - [Y[1], Y[2]] - [Y[3], Y[4]] - end); +```julia +model = GDPModel(); +@variable(model, w); +@variable(model, x); +@variable(model, Y[1:4], LogicalVariable); +@constraint(model, [i=1:2], w == i, DisjunctConstraint(Y[i])); +@constraint(model, [i=3:4], x == i, DisjunctConstraint(Y[i])); +@disjunctions(model, begin + [Y[1], Y[2]] + [Y[3], Y[4]] +end); ```` """ macro disjunctions(m, x) diff --git a/test/runtests.jl b/test/runtests.jl index e06b246..b443d68 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,5 +1,4 @@ using DisjunctiveProgramming -using JuMP using Test const DP = DisjunctiveProgramming From 61e352e7f6112577781a0810dd90f695cc311779 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 15:04:32 -0400 Subject: [PATCH 04/28] add documenter to project.toml --- docs/Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Project.toml b/docs/Project.toml index 1b16efe..ef99e1a 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,2 +1,3 @@ [deps] DisjunctiveProgramming = "0d27d021-0159-4c7d-b4a7-9ccb5d9366cf" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" From 874529b63bca8b570a165c057178dee406d74f65 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 16:32:48 -0400 Subject: [PATCH 05/28] fix ci --- .github/workflows/CI.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 14b551e..f8a1345 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -26,6 +26,7 @@ jobs: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - uses: julia-actions/julia-runtest@latest - - uses: julia-actions/julia-uploadcodecov@latest - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v3 + with: + file: lcov.info \ No newline at end of file From 8432af7659883d78f93ef6adbaef6a6afc264bb7 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 16:51:09 -0400 Subject: [PATCH 06/28] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6970132..c92f8ea 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ Generalized Disjunctive Programming (GDP) extension to JuMP, based on the GDP mo ![](logo.png) +[![codecov](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl/graph/badge.svg?token=3FRPGMWF0J)](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl) +[![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/stable/) +[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/dev/) + ## Installation ```julia From e98764bb63c745305df45843fd0ce34824b26aba Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 22:07:33 -0400 Subject: [PATCH 07/28] begin fixes to paper --- paper/paper.tex | 105 +++++++++++++++++++++++------------------------- paper/ref.bib | 2 +- 2 files changed, 51 insertions(+), 56 deletions(-) diff --git a/paper/paper.tex b/paper/paper.tex index 62d285b..8f6b17e 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -69,7 +69,7 @@ \subsection{Model} \end{align} \vskip 6pt -\subsection{Linear GDP reformulation example} +\subsection{Solution Technique: Reformulation to Mixed-Integer Program} The simplest example of a linear GDP system is given in \eqref{eq:ex} - \eqref{eq:y}, where $Y_i$ is a Boolean indicator variable that enforces the constraints in the disjunct ($Ax \le b$ or $Cx \le d$) when $true$. \vskip 6pt \begin{equation} @@ -107,7 +107,7 @@ \subsection{Linear GDP reformulation example} \vskip 6pt \subsubsection{Big-M Reformulation} - The Big-M reformulation for this problem is given by \eqref{eq:x}, \eqref{eq:ex_bigm1} - \eqref{eq:ex_bigm4}, where $M$ is a sufficiently large scalar that makes the particular constraint redundant when its indicator variable is not selected (i.e., $y_i = 0$). Note that the Boolean variables, $Y_i$, are replaced by binary variables, $y_i$. When the integrality constraint in Eq. \eqref{eq:ex_bigm4} is relaxed to $0 \leq x_1, x_2 \leq 1$, the resulting feasible region can be visualized by projecting the relaxed model onto the $x_1, x_2$ plane. This results in the region encapsulated by the dashed line in Figure \ref{fig:bigm}. It should be noted that the relaxed feasible region is not as tight as possible around the original feasible solution space. The choice of the large $M$ value determines the tightness of this relaxation, and the minimal value of $M$ for the optimal relaxation can be found through interval arithmetic when the model is linear. For nonlinear models, the tightest $M$ can be obtained by solving the maximization problem $\{\max h_{ik}(x): x \in X\}$. An alternate method for tight Big-M relaxations is given in \cite{TRESPALACIOS201598}. + The Big-M reformulation for this problem is given by \eqref{eq:ex_bigm1} - \eqref{eq:ex_bigm5}, where $M$ is a sufficiently large scalar that makes the particular constraint redundant when its indicator variable is not selected (i.e., $y_i = 0$). Note that the Boolean variables, $Y_i$, are replaced by binary variables, $y_i$. When the integrality constraint in Eq. \eqref{eq:ex_bigm4} is relaxed to $0 \leq x_1, x_2 \leq 1$, the resulting feasible region can be visualized by projecting the relaxed model onto the $x_1, x_2$ plane. This results in the region encapsulated by the dashed line in Figure \ref{fig:bigm}. It should be noted that the relaxed feasible region is not as tight as possible around the original feasible solution space. The choice of the large $M$ value determines the tightness of this relaxation, and the minimal value of $M$ for the optimal relaxation can be found through interval arithmetic when the model is linear. For nonlinear models, the tightest $M$ can be obtained by solving the maximization problem $\{\max h_{ik}(x): x \in X\}$. An alternate method for tight Big-M relaxations is given in \cite{TRESPALACIOS201598}. \begin{equation} \label{eq:ex_bigm1} @@ -123,6 +123,10 @@ \subsection{Linear GDP reformulation example} \end{equation} \begin{equation} \label{eq:ex_bigm4} + 0 \leq x \leq U +\end{equation} +\begin{equation} + \label{eq:ex_bigm5} y_1, y_2 \in \{0,1\} \end{equation} @@ -134,24 +138,36 @@ \subsection{Linear GDP reformulation example} \end{figure} \subsubsection{Hull Reformulation} -The Hull reformulation is given by \eqref{eq:x}, \eqref{eq:ex_bigm3} - \eqref{eq:ex_hull3}, which requires lifting the model to a higher-dimensional space. When projected to the original space, the continuous relaxation of the model is tighter than its Big-M equivalent \cite{grossmann_trespalacios_2013}. The reformulation relaxation can be visualized by the region encapsulated by the dashed line in Figure \ref{fig:chr}. Note that this reformulation provides a tighter relaxation than the Big-M reformulation in Figure \ref{fig:bigm}. Also note that describing the geometry of this relaxation is more complex than the Big-M relaxation, which is made possible by the increased number of constraints and variables in the model. +The Hull reformulation is given by \eqref{eq:ex_hull0} - \eqref{eq:ex_hull6}, which requires lifting the model to a higher-dimensional space. When projected to the original space, the continuous relaxation of the model is tighter than its Big-M equivalent \cite{grossmann_trespalacios_2013}. The reformulation relaxation can be visualized by the region encapsulated by the dashed line in Figure \ref{fig:chr}. Note that this reformulation provides a tighter relaxation than the Big-M reformulation in Figure \ref{fig:bigm}. Also note that describing the geometry of this relaxation is more complex than the Big-M relaxation, which is made possible by the increased number of constraints and variables in the model. \begin{equation} - \label{eq:ex_hull1} + \label{eq:ex_hull0} Ax_1 \leq by_1 \end{equation} \begin{equation} - \label{eq:ex_hull0} + \label{eq:ex_hull1} Cx_2 \leq dy_2 \end{equation} \begin{equation} \label{eq:ex_hull2} x = x_1 + x_2 \end{equation} +\begin{equation} + \label{eq:ex_hull4} + y_1 + y_2 = 1 +\end{equation} +\begin{equation} + \label{eq:ex_hull5} + 0 \leq x \leq U +\end{equation} \begin{equation} \label{eq:ex_hull3} 0 \leq x_i \leq U y_i \quad \forall i \in \{1,2\} \end{equation} +\begin{equation} + \label{eq:ex_hull6} + y_1, y_2 \in \{0,1\} +\end{equation} \begin{figure}%[H] \centering @@ -173,10 +189,10 @@ \subsubsection{Propositional Logic} (A \land B) \lor C & \text{ is replaced by } (A \lor C) \land (B \lor C) \end{align*} -Once the logic propositions are converted to CNF, each clause can be converted into an algebraic constraint with the following equivalence (Note: any negated Boolean variables, $\neg Y_i$, are replaced with $1-y_i$ in the reformulation), +Once the logic propositions are converted to CNF, each clause can be converted into an algebraic constraint with the following equivalence, where the set $I$ represents the subset boolean variables present in the clause, and the set $J$ represents the subset of boolean variables present in the clause in negated form, \begin{align*} - \bigvee_{i \in I} Y_i & \ \ \text{becomes} \ \ \sum_{i\in I} y_i \geq 1 \\ + \bigvee_{i \in I} Y_i \bigvee_{j \in J} (\neg Y_j) & \ \ \text{becomes} \ \ \sum_{i \in I} y_i + \sum_{j \in J} (1-y_j) \geq 1 \\ \end{align*} Alternate approaches exist for converting propositional logic statements into CNF, which involve preserving clause satisfiability rather than clause equivalence. These approaches prevent exponential size increase in clauses and yield logically consistent results \cite{jackson_sheridan_2005}. @@ -288,16 +304,19 @@ \subsection{Example} \item Create the JuMP model and define the model variables and global constraints (mass balances). \begin{lstlisting}[language = Julia] -using DisjunctiveProgramming, JuMP, HiGHS +using DisjunctiveProgramming, HiGHS # create model -m = JuMP.Model(HiGHS.Optimizer) +m = GDPModel(HiGHS.Optimizer) # add variables to model @variable(m, 0 <= F[i = 1:7] <= 10) @variable(m, 0 <= CS <= CSmax) @variable(m, CRmin <= CR <= CRmax) +# add logical variables to model +@variable(m, YR[1:2], LogicalVariable) +@variable(m, YS[1:2], LogicalVariable) -# add constraints to model +# add global constraints to model @constraints(m, begin F[1] == F[2] + F[3] @@ -307,56 +326,32 @@ \subsection{Example} \end{lstlisting} \item Define the inner (nested) disjunction for the separation technologies in the superstructure using the \verb|@disjunction| macro. \begin{lstlisting}[language = Julia] -@disjunction(m, - begin - F[5] == β[:S1]*F[4] - CS == γ[:S1] - end, - begin - F[5] == β[:S2]*F[4] - CS == γ[:S2] - end, - reformulation = :big_m, # reformulation type - name = :YS # symbol for indicator variable -) -\end{lstlisting} - \item Define constraints in the outer disjunctions. -\begin{lstlisting}[language = Julia] -# define constraints in left disjunct -R1_con = @constraints(m, - begin - F[6] == β[:R1]*F[2] - [i = 3:5], F[i] == 0 - CR == γ[:R1] - CS == 0 - end -) - -# define constraints in right disjunct -R2_con = @constraints(m, - begin - F[6] == β[:R2]*F[3] - CR == γ[:R2] - end -) +# define constraints in left YS disjunct +@constraint(m, F[5] == β[:S1]*F[4], DisjunctConstraint(YS[1])) +@constraint(m, CS == γ[:S1], DisjunctConstraint(YS[1])) +# define constraints in right YS disjunct +@constraint(m, F[5] == β[:S2]*F[4], DisjunctConstraint(YS[2])) +@constraint(m, CS == γ[:S2], DisjunctConstraint(YS[2])) +# define disjunction (specify parent disjunct) +@disjunction(m, YS, DisjunctConstraint(YR[2])) \end{lstlisting} - \item Build the main disjunction using the constraint blocks defined in (3) and the \verb|add_disjunction!| function. Note that the reformulated constraints for the nested disjunction are stored in the \verb|.ext| dictionary of the model under the name of the disjunction (\verb|:YS| in this case). + \item Define the outer disjunctions. \begin{lstlisting}[language = Julia] -add_disjunction!(m, - R1_con, - ( - R2_con, #general constraints in R2 disj. - m.ext[:YS] #reformulated inner disj. - ), - reformulation = :big_m, # reformulation type - name = :YR # symbol for indicator variable -) +# define constraints in left YR disjunct +@constraint(m, F[6] == β[:R1]*F[2], DisjunctConstraint(YR[1])) +@constraint(m, [i = 3:5], F[i] == 0, DisjunctConstraint(YR[1])) +@constraint(m, CR == γ[:R1], DisjunctConstraint(YR[1])) +@constraint(m, CS == 0, DisjunctConstraint(YR[1])) +# define constraints in right YR disjunct +@constraint(m, F[6] == β[:R2]*F[3], DisjunctConstraint(YR[2])) +@constraint(m, CR == γ[:R2], DisjunctConstraint(YR[2])) +# define disjunction +@disjunction(m, YR) \end{lstlisting} \item Add the selection logical constraints using the \verb|choose!| function. The first constraint enforces that only one reactor is selected (i.e., $Y_{R_1} \ \underline{\vee} \ Y_{R_2}$). The second constraint enforces that the separation system be defined only if the second reactor ($R_2$) is selected. This constraint is equivalent to the proposition $Y_{R_2} \Leftrightarrow Y_{S_1} \ \underline{\vee} \ Y_{S_2}$. \begin{lstlisting}[language = Julia] -YR, YS = m[:YR], m[:YS] -choose!(m, 1, YR[1], YR[2]; mode = :exactly) -choose!(m, YR[2], YS[1], YS[2]; mode = :exactly) +@constraint(m, YR in Exactly(1)) +@constraint(m, YS in Exactly(YR[2])) \end{lstlisting} \item Add the objective function and optimize. \begin{lstlisting}[language = Julia] diff --git a/paper/ref.bib b/paper/ref.bib index e8fbeed..e78cddd 100644 --- a/paper/ref.bib +++ b/paper/ref.bib @@ -198,7 +198,7 @@ @article{jackson_sheridan_2005 } @article{dunning_huchette_lubin_2017, -title={Jump: A modeling language for mathematical optimization}, +title={JuMP: A modeling language for mathematical optimization}, volume={59}, number={2}, journal={SIAM Review}, From 24a997e58d3d73dc9c5680a0a00d7905d442e7e3 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 13 Oct 2023 22:36:43 -0400 Subject: [PATCH 08/28] update paper --- paper/paper.aux | 141 +++++++ paper/paper.bbl | 183 +++++++++ paper/paper.blg | 46 +++ paper/paper.fdb_latexmk | 163 ++++++++ paper/paper.fls | 282 ++++++++++++++ paper/paper.log | 845 ++++++++++++++++++++++++++++++++++++++++ paper/paper.out | 20 + paper/paper.pdf | Bin 348876 -> 349541 bytes paper/paper.synctex.gz | Bin 0 -> 125856 bytes paper/paper.tex | 34 +- paper/ref.bib | 12 + 11 files changed, 1711 insertions(+), 15 deletions(-) create mode 100644 paper/paper.aux create mode 100644 paper/paper.bbl create mode 100644 paper/paper.blg create mode 100644 paper/paper.fdb_latexmk create mode 100644 paper/paper.fls create mode 100644 paper/paper.log create mode 100644 paper/paper.out create mode 100644 paper/paper.synctex.gz diff --git a/paper/paper.aux b/paper/paper.aux new file mode 100644 index 0000000..49e4e2a --- /dev/null +++ b/paper/paper.aux @@ -0,0 +1,141 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\citation{chen_grossmann_2019} +\citation{grossmann_trespalacios_2013} +\citation{balas_2018} +\citation{chen_grossmann_2019} +\citation{MATOVU2022107856} +\citation{ZHOU202269} +\citation{CHO2022841} +\citation{kim2022generalized} +\citation{CHEN2022107616} +\citation{chen2022pyomo} +\citation{vecchietti1999logmip} +\citation{dunning_huchette_lubin_2017} +\citation{dunning_huchette_lubin_2017} +\citation{nemhauser_1999} +\citation{TRESPALACIOS201598} +\citation{LEE20002125} +\citation{grossmann_lee_2003} +\citation{chen_grossmann_2019} +\newlabel{@firstpg}{{}{1}{}{Doc-Start}{}} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Generalized Disjunctive Programming}{1}{section.2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Model}{1}{subsection.2.1}} +\newlabel{eq:general_gdp}{{1}{1}{Model}{equation.2.1}{}} +\newlabel{eq:general_gdp1}{{6}{1}{Model}{equation.2.6}{}} +\citation{TRESPALACIOS201598} +\citation{grossmann_trespalacios_2013} +\newlabel{eq:lgdp}{{7}{2}{Model}{equation.2.7}{}} +\newlabel{eq:lgdp2}{{11}{2}{Model}{equation.2.11}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Solution Technique: Reformulation to Mixed-Integer Program}{2}{subsection.2.2}} +\newlabel{eq:ex}{{12}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.12}{}} +\newlabel{eq:x}{{13}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.13}{}} +\newlabel{eq:simple_xor}{{14}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.14}{}} +\newlabel{eq:y}{{15}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.15}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.2.1}Big-M Reformulation}{2}{subsubsection.2.2.1}} +\newlabel{eq:ex_bigm1}{{16}{2}{Big-M Reformulation}{equation.2.16}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Feasible solution space for example disjunction}}{2}{figure.1}} +\newlabel{fig:reform_figure}{{1}{2}{Feasible solution space for example disjunction}{figure.1}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Relaxed solution space using Big-M Reformulation}}{2}{figure.2}} +\newlabel{fig:bigm}{{2}{2}{Relaxed solution space using Big-M Reformulation}{figure.2}{}} +\newlabel{eq:ex_bigm2}{{17}{2}{Big-M Reformulation}{equation.2.17}{}} +\newlabel{eq:ex_bigm3}{{18}{2}{Big-M Reformulation}{equation.2.18}{}} +\newlabel{eq:ex_bigm4}{{19}{2}{Big-M Reformulation}{equation.2.19}{}} +\newlabel{eq:ex_bigm5}{{20}{2}{Big-M Reformulation}{equation.2.20}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.2.2}Hull Reformulation}{2}{subsubsection.2.2.2}} +\citation{jackson_sheridan_2005} +\citation{grossmann_lee_2003} +\citation{E.Grossmann2009} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Relaxed solution space using Hull Reformulation}}{3}{figure.3}} +\newlabel{fig:chr}{{3}{3}{Relaxed solution space using Hull Reformulation}{figure.3}{}} +\newlabel{eq:ex_hull0}{{21}{3}{Hull Reformulation}{equation.2.21}{}} +\newlabel{eq:ex_hull1}{{22}{3}{Hull Reformulation}{equation.2.22}{}} +\newlabel{eq:ex_hull2}{{23}{3}{Hull Reformulation}{equation.2.23}{}} +\newlabel{eq:ex_hull4}{{24}{3}{Hull Reformulation}{equation.2.24}{}} +\newlabel{eq:ex_hull5}{{25}{3}{Hull Reformulation}{equation.2.25}{}} +\newlabel{eq:ex_hull3}{{26}{3}{Hull Reformulation}{equation.2.26}{}} +\newlabel{eq:ex_hull6}{{27}{3}{Hull Reformulation}{equation.2.27}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Logic constraint reformulation}{3}{subsection.2.3}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.3.1}Propositional Logic}{3}{subsubsection.2.3.1}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.3.2}Constraint Programming}{3}{subsubsection.2.3.2}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Other Solution Techniques}{3}{subsection.2.4}} +\newlabel{other_techniques}{{2.4}{3}{Other Solution Techniques}{subsection.2.4}{}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.4.1}Disjunctive branch and bound}{3}{subsubsection.2.4.1}} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.4.2}Logic-based outer approximation}{3}{subsubsection.2.4.2}} +\citation{trespalacios_grossmann_2016} +\citation{agarwal2010automating} +\citation{furman_sawaya_grossmann_2020} +\citation{10.1145/3511528.3511535} +\citation{huangfu2018parallelizing} +\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.4.3}Hybrid cutting planes}{4}{subsubsection.2.4.3}} +\@writefile{toc}{\contentsline {section}{\numberline {3}DisjunctiveProgramming.jl}{4}{section.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Features}{4}{subsection.3.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Example}{4}{subsection.3.2}} +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Illustrative superstructure optimization problem}}{4}{figure.4}} +\newlabel{fig:superstruct_opt_diagram}{{4}{4}{Illustrative superstructure optimization problem}{figure.4}{}} +\newlabel{eq:example_obj}{{28}{4}{Example}{equation.3.28}{}} +\newlabel{eq:example_gdp}{{29}{4}{Example}{equation.3.29}{}} +\newlabel{eq:example_global}{{30}{4}{Example}{equation.3.30}{}} +\newlabel{eq:example_global1}{{31}{4}{Example}{equation.3.31}{}} +\newlabel{eq:example_var1}{{32}{4}{Example}{equation.3.32}{}} +\newlabel{eq:example_var2}{{33}{4}{Example}{equation.3.33}{}} +\newlabel{eq:example_var3}{{34}{4}{Example}{equation.3.34}{}} +\citation{kronqvist2022p} +\citation{agarwal2015novel} +\citation{bynum2021pyomo} +\citation{hart2011pyomo} +\citation{chen2022pyomo} +\citation{Bussieck2004} +\citation{vecchietti1999logmip} +\citation{NAVARROAMOROS201413} +\bibstyle{juliacon} +\bibdata{ref.bib} +\bibcite{agarwal2015novel}{1} +\bibcite{agarwal2010automating}{2} +\bibcite{balas_2018}{3} +\bibcite{Bussieck2004}{4} +\bibcite{bynum2021pyomo}{5} +\bibcite{chen_grossmann_2019}{6} +\bibcite{chen2022pyomo}{7} +\bibcite{CHEN2022107616}{8} +\@writefile{toc}{\contentsline {section}{\numberline {4}Future Work}{5}{section.4}} +\@writefile{toc}{\contentsline {section}{\numberline {5}Related Work}{5}{section.5}} +\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion}{5}{section.6}} +\@writefile{toc}{\contentsline {section}{\numberline {7}References}{5}{section.7}} +\bibcite{CHO2022841}{9} +\bibcite{dunning_huchette_lubin_2017}{10} +\bibcite{E.Grossmann2009}{11} +\bibcite{furman_sawaya_grossmann_2020}{12} +\bibcite{10.1145/3511528.3511535}{13} +\bibcite{grossmann_lee_2003}{14} +\bibcite{grossmann_trespalacios_2013}{15} +\bibcite{hart2011pyomo}{16} +\bibcite{huangfu2018parallelizing}{17} +\bibcite{jackson_sheridan_2005}{18} +\bibcite{kim2022generalized}{19} +\bibcite{kronqvist2022p}{20} +\bibcite{LEE20002125}{21} +\bibcite{MATOVU2022107856}{22} +\bibcite{NAVARROAMOROS201413}{23} +\bibcite{nemhauser_1999}{24} +\bibcite{TRESPALACIOS201598}{25} +\bibcite{trespalacios_grossmann_2016}{26} +\bibcite{vecchietti1999logmip}{27} +\bibcite{ZHOU202269}{28} diff --git a/paper/paper.bbl b/paper/paper.bbl new file mode 100644 index 0000000..546c718 --- /dev/null +++ b/paper/paper.bbl @@ -0,0 +1,183 @@ +\begin{thebibliography}{10} + +\bibitem{agarwal2015novel} +Anshul Agarwal. +A novel minlp reformulation for nonlinear generalized disjunctive programming + (gdp) problems. +{\em arXiv preprint arXiv:1510.01791}, 2015. + +\bibitem{agarwal2010automating} +Ashish Agarwal, Sooraj Bhat, Alexander Gray, and Ignacio~E Grossmann. +Automating mathematical program transformations. +In {\em International Symposium on Practical Aspects of Declarative Languages}, + pages 134--148. Springer, 2010. +\href{http://dx.doi.org/10.1007/978-3-642-11503-5\_12}{doi:10.1007/978-3-642-11503-5\_12}. + +\bibitem{balas_2018} +Egon Balas. +{\em Disjunctive programming}. +Springer, 2018. + +\bibitem{Bussieck2004} +Michael~R. Bussieck and Alex Meeraus. +{\em General Algebraic Modeling System (GAMS)}, pages 137--157. +Springer US, Boston, MA, 2004. +\href{http://dx.doi.org/10.1007/978-1-4613-0215-5\_8}{doi:10.1007/978-1-4613-0215-5\_8}. + +\bibitem{bynum2021pyomo} +Michael~L. Bynum, Gabriel~A. Hackebeil, William~E. Hart, Carl~D. Laird, + Bethany~L. Nicholson, John~D. Siirola, Jean-Paul Watson, and David~L. + Woodruff. +{\em Pyomo--optimization modeling in python}, volume~67. +Springer Science \& Business Media, third edition, 2021. + +\bibitem{chen_grossmann_2019} +Qi~Chen and Ignacio Grossmann. +Modern modeling paradigms using generalized disjunctive programming. +{\em Processes}, 7(11), 2019. +\href{http://dx.doi.org/10.3390/pr7110839}{doi:10.3390/pr7110839}. + +\bibitem{chen2022pyomo} +Qi~Chen, Emma~S Johnson, David~E Bernal, Romeo Valentin, Sunjeev Kale, Johnny + Bates, John~D Siirola, and Ignacio~E Grossmann. +Pyomo. gdp: an ecosystem for logic based modeling and optimization development. +{\em Optimization and Engineering}, 23(1):607--642, 2022. + +\bibitem{CHEN2022107616} +Ying Chen, Yixin Ye, Zhihong Yuan, Ignacio~E. Grossmann, and Bingzhen Chen. +Integrating stochastic programming and reliability in the optimal synthesis of + chemical processes. +{\em Computers \& Chemical Engineering}, 157:107616, 2022. +\href{http://dx.doi.org/10.1016/j.compchemeng.2021.107616}{doi:10.1016/j.compchemeng.2021.107616}. + +\bibitem{CHO2022841} +Seolhee Cho and Ignacio~E. Grossmann. +An optimization model for expansion planning of reliable power generation + systems. +In Ludovic Montastruc and Stephane Negny, editors, {\em 32nd European Symposium + on Computer Aided Process Engineering}, volume~51 of {\em Computer Aided + Chemical Engineering}, pages 841--846. Elsevier, 2022. +\href{http://dx.doi.org/10.1016/B978-0-323-95879-0.50141-7}{doi:10.1016/B978-0-323-95879-0.50141-7}. + +\bibitem{dunning_huchette_lubin_2017} +Iain Dunning, Joey Huchette, and Miles Lubin. +Jump: A modeling language for mathematical optimization. +{\em SIAM Review}, 59(2):295–320, 2017. +\href{http://dx.doi.org/10.1137/15M1020575}{doi:10.1137/15M1020575}. + +\bibitem{E.Grossmann2009} +Ignacio E.~Grossmann. +{\em Logic-based outer approximation}, pages 1928--1931. +Springer US, Boston, MA, 2009. +\href{http://dx.doi.org/10.1007/978-0-387-74759-0\_348}{doi:10.1007/978-0-387-74759-0\_348}. + +\bibitem{furman_sawaya_grossmann_2020} +Kevin~C. Furman, Nicolas~W. Sawaya, and Ignacio~E. Grossmann. +A computationally useful algebraic representation of nonlinear disjunctive + convex sets using the perspective function. +{\em Computational Optimization and Applications}, 76(2):589–614, 2020. +\href{http://dx.doi.org/10.1007/s10589-020-00176-0}{doi:10.1007/s10589-020-00176-0}. + +\bibitem{10.1145/3511528.3511535} +Shashi Gowda, Yingbo Ma, Alessandro Cheli, Maja Gw\'{o}\'{z}zd\'{z}, Viral~B. + Shah, Alan Edelman, and Christopher Rackauckas. +High-performance symbolic-numerics via multiple dispatch. +{\em ACM Commun. Comput. Algebra}, 55(3):92–96, jan 2022. +\href{http://dx.doi.org/10.1145/3511528.3511535}{doi:10.1145/3511528.3511535}. + +\bibitem{grossmann_lee_2003} +Ignacio~E. Grossmann and Sangbum Lee. +Generalized convex disjunctive programming: Nonlinear convex hull relaxation. +{\em Computational Optimization and Applications}, 26(1):83–100, 2003. +\href{http://dx.doi.org/10.1023/a:1025154322278}{doi:10.1023/a:1025154322278}. + +\bibitem{grossmann_trespalacios_2013} +Ignacio~E. Grossmann and Francisco Trespalacios. +Systematic modeling of discrete-continuous optimization models through + generalized disjunctive programming. +{\em AIChE Journal}, 59(9):3276--3295, 2013. +\href{http://dx.doi.org/10.1002/aic.14088}{doi:10.1002/aic.14088}. + +\bibitem{hart2011pyomo} +William~E Hart, Jean-Paul Watson, and David~L Woodruff. +Pyomo: modeling and solving mathematical programs in python. +{\em Mathematical Programming Computation}, 3(3):219--260, 2011. +\href{http://dx.doi.org/10.1007/s12532-011-0026-8}{doi:10.1007/s12532-011-0026-8}. + +\bibitem{huangfu2018parallelizing} +Qi~Huangfu and JA~Julian Hall. +Parallelizing the dual revised simplex method. +{\em Mathematical Programming Computation}, 10(1):119--142, 2018. +\href{http://dx.doi.org/10.1007/s12532-017-0130-5}{doi:10.1007/s12532-017-0130-5}. + +\bibitem{jackson_sheridan_2005} +Paul Jackson and Daniel Sheridan. +Clause form conversions for boolean circuits. +{\em Theory and Applications of Satisfiability Testing}, page 183–198, 2005. +\href{http://dx.doi.org/10.1007/11527695\_15}{doi:10.1007/11527695\_15}. + +\bibitem{kim2022generalized} +Donghun Kim. +Generalized disjunctive programming-based, mixed integer linear mpc formulation + for optimal operation of a district energy system for pv self-consumption and + grid decarbonization: Field implementation. +{\em International High Performance Buildings Conference}, 2022. + +\bibitem{kronqvist2022p} +Jan Kronqvist, Ruth Misener, and Calvin Tsay. +P-split formulations: A class of intermediate formulations between big-m and + convex hull for disjunctive constraints. +{\em arXiv preprint arXiv:2202.05198}, 2022. + +\bibitem{LEE20002125} +Sangbum Lee and Ignacio~E. Grossmann. +New algorithms for nonlinear generalized disjunctive programming. +{\em Computers \& Chemical Engineering}, 24(9):2125--2141, 2000. +\href{http://dx.doi.org/10.1016/S0098-1354(00)00581-0}{doi:10.1016/S0098-1354(00)00581-0}. + +\bibitem{MATOVU2022107856} +Fahad Matovu, Shuhaimi Mahadzir, Rasel Ahmed, and Nor Erniza~Mohammad Rozali. +Synthesis and optimization of multilevel refrigeration systems using + generalized disjunctive programming. +{\em Computers \& Chemical Engineering}, 163:107856, 2022. +\href{http://dx.doi.org/10.1016/j.compchemeng.2022.107856}{doi:10.1016/j.compchemeng.2022.107856}. + +\bibitem{NAVARROAMOROS201413} +Miguel~A. Navarro-Amorós, Rubén Ruiz-Femenia, and José~A. Caballero. +Integration of modular process simulators under the generalized disjunctive + programming framework for the structural flowsheet optimization. +{\em Computers \& Chemical Engineering}, 67:13--25, 2014. +\href{http://dx.doi.org/10.1016/j.compchemeng.2014.03.014}{doi:10.1016/j.compchemeng.2014.03.014}. + +\bibitem{nemhauser_1999} +George~L. Nemhauser. +{\em Integer and combinatorial optimization}. +John Wiley and Sons, 1999. + +\bibitem{TRESPALACIOS201598} +Francisco Trespalacios and Ignacio~E. Grossmann. +Improved big-m reformulation for generalized disjunctive programs. +{\em Computers \& Chemical Engineering}, 76:98--103, 2015. +\href{http://dx.doi.org/10.1016/j.compchemeng.2015.02.013}{doi:10.1016/j.compchemeng.2015.02.013}. + +\bibitem{trespalacios_grossmann_2016} +Francisco Trespalacios and Ignacio~E. Grossmann. +Cutting plane algorithm for convex generalized disjunctive programs. +{\em INFORMS Journal on Computing}, 28(2):209–222, 2016. +\href{http://dx.doi.org/10.1287/ijoc.2015.0669}{doi:10.1287/ijoc.2015.0669}. + +\bibitem{vecchietti1999logmip} +Aldo Vecchietti and Ignacio~E Grossmann. +Logmip: a disjunctive 0--1 non-linear optimizer for process system models. +{\em Computers \& chemical engineering}, 23(4-5):555--565, 1999. +\href{http://dx.doi.org/10.1016/s0098-1354(98)00293-2}{doi:10.1016/s0098-1354(98)00293-2}. + +\bibitem{ZHOU202269} +Wenjin Zhou, Kashif Iqbal, Xiaogang Sun, Dinghui Gan, Chun Deng, José~María + Ponce-Ortega, and Chunmao Chen. +Disjunctive programming model for the synthesis of property-based water supply + network with multiple resources. +{\em Chemical Engineering Research and Design}, 187:69--83, 2022. +\href{http://dx.doi.org/10.1016/j.cherd.2022.08.027}{doi:10.1016/j.cherd.2022.08.027}. + +\end{thebibliography} diff --git a/paper/paper.blg b/paper/paper.blg new file mode 100644 index 0000000..8771d04 --- /dev/null +++ b/paper/paper.blg @@ -0,0 +1,46 @@ +This is BibTeX, Version 0.99d (TeX Live 2018/W32TeX) +Capacity: max_strings=100000, hash_size=100000, hash_prime=85009 +The top-level auxiliary file: paper.aux +The style file: juliacon.bst +Database file #1: ref.bib +You've used 28 entries, + 2314 wiz_defined-function locations, + 722 strings with 10223 characters, +and the built_in function-call counts, 10922 in all, are: += -- 1084 +> -- 512 +< -- 7 ++ -- 203 +- -- 172 +* -- 828 +:= -- 1790 +add.period$ -- 107 +call.type$ -- 28 +change.case$ -- 165 +chr.to.int$ -- 0 +cite$ -- 28 +duplicate$ -- 422 +empty$ -- 858 +format.name$ -- 172 +if$ -- 2324 +int.to.chr$ -- 0 +int.to.str$ -- 28 +missing$ -- 33 +newline$ -- 164 +num.names$ -- 58 +pop$ -- 184 +preamble$ -- 1 +purify$ -- 141 +quote$ -- 0 +skip$ -- 286 +stack$ -- 0 +substring$ -- 657 +swap$ -- 89 +text.length$ -- 7 +text.prefix$ -- 0 +top$ -- 0 +type$ -- 102 +warning$ -- 0 +while$ -- 89 +width$ -- 30 +write$ -- 353 diff --git a/paper/paper.fdb_latexmk b/paper/paper.fdb_latexmk new file mode 100644 index 0000000..67da880 --- /dev/null +++ b/paper/paper.fdb_latexmk @@ -0,0 +1,163 @@ +# Fdb version 3 +["bibtex paper"] 1697250920 "paper.aux" "paper.bbl" "paper" 1697250951 + "./juliacon.bst" 1683852295 22186 2eaa317b2b3889daf19a84ad3db6071a "" + "paper.aux" 1697250951 7778 783b8297805b6c89c5268c63f92cff8c "" + "ref.bib" 1697250376 28213 f27abf9b9e09c1c9db1c5c5dd8185404 "" + (generated) + "paper.blg" + "paper.bbl" +["pdflatex"] 1697250949 "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" "paper" 1697250951 + "bib.tex" 1683852295 115 fb8dcbd9d4481bde59a06a28ec8a83ca "" + "bigm.png" 1683852295 16157 24bd6e3bc27d995ac037e601c6fb5268 "" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux" 1697250951 7778 783b8297805b6c89c5268c63f92cff8c "" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" 1697250947 26547 11d3ac8565a495d864600f275910bc32 "" + "c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc" 1532704159 4850 80dc9bab7f31fb78a000ccfed0e27cab "" + "c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1532703951 2971 def0b6c1f0b107b3b936def894055589 "" + "c:/texlive/2018/texmf-dist/fonts/map/fontname/texfonts.map" 1532704303 3332 103109f5612ad95229751940c61aada0 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" 1532705452 4524 6bce29db5bc272ba5f332261583fee9c "" + "c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm" 1532705452 6880 f19b8995b61c334d78fc734065f6b4d4 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" 1532705452 4408 25b74d011a4c66b7f212c0cc3c90061b "" + "c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm" 1532705452 6672 e3ab9e37e925f3045c9005e6d1473d56 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" 1532705452 4640 532ca3305aad10cc01d769f3f91f1029 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm" 1532705452 6944 94c55ad86e6ea2826f78ba2240d50df9 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm" 1532704170 3584 d3d8ac8b25ca19c0a40b86a5db1e8ccc "" + "c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1532704170 3584 adb004a0c8e7c46ee66cad73671f37b4 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ectt0800.tfm" 1532704170 1536 0b0b8ca286de6a006b681926403f35cd "" + "c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ectt0900.tfm" 1532704170 1536 ae7aab2f8a4bc9edfce2899f53ba88c3 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1532703666 1004 54797486969f23fa377b128694d548df "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1532703666 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm" 1532703666 996 a18840b13b499c08ac2de96a99eda4bc "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib5.tfm" 1532703666 1496 c79f6914c6d39ffb3759967363d1be79 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib6.tfm" 1532703666 1516 a3bf6a5e7ec4401b1f52092dfaaed242 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib7.tfm" 1532703666 1508 6e807ff901c35a5f1fde0ca275533df8 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib8.tfm" 1532703666 1528 dab402b9d3774ca98baa037071cee7ae "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib9.tfm" 1532703666 1528 159d57adcba064aab4277245c826577d "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1532703666 916 f87d7c45f9c908e672703b83b72241a3 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1532703666 924 9904cf1d39e9767e7a3622f2a125a565 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1532703666 928 2dc8d444221b7a635bb58038579b861a "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1532703666 908 2921f8a10601f252058503cc6570e581 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1532703666 940 75ac932a52f80982a9f8ea75d03a34cf "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1532703666 940 228d6584342e91276bf566bcf9716b83 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm" 1532703935 1116 4e6ba9d7914baa6482fd69f67d126380 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm" 1532703935 1328 c834bbb027764024c09d3d2bf908b5f0 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1532703935 1324 c910af8c371558dc20f2d7822f66fe64 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx5.tfm" 1532703935 1332 f817c21a1ba54560425663374f1b651a "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx6.tfm" 1532703935 1344 8a0be4fe4d376203000810ad4dc81558 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx7.tfm" 1532703935 1336 3125ccb448c1a09074e3aa4a9832f130 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx8.tfm" 1532703935 1332 1fde11373e221473104d6cc5993f046e "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx9.tfm" 1532703935 1328 5442e22a7072966dbaf88ca900acf3f0 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1532703935 992 662f679a0b3d2d53c1b94050fdaa3f50 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1532703935 1524 4414a8315f39513458b80dfc63bff03a "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1532703935 1512 f21f83efb36853c0b70002322c1ab3ad "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1532703935 1520 eccf95517727cb11801f4f1aee3a21b4 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm" 1532703935 1524 d89e2d087a9828407a196f428428ef4a "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmib10.tfm" 1532703935 1524 554068197b70979a55370e6c6495f441 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1532703935 1288 655e228510b4c2a1abe905c368440826 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1532703935 1292 296a67155bdbfc32aa9c636f21e91433 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1532703935 1300 b62933e007d01cfd073f79b963c01526 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1532703935 1292 21c1c5bfeaebccffdb478fd231a0997d "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1532703935 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1532703935 1124 6c73e740cf17375f03eec0ee63599741 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm" 1532704561 520 82a3d37183f34b6eb363a161dfc002c2 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy5.tfm" 1532704561 520 d082ac03a1087bc1ec2a06e24a9f68c0 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm" 1532704561 520 4889cce2180234b97cad636b6039c722 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy7.tfm" 1532704561 520 a74c6ed8cb48679fdc3ea874d9d34a7e "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy8.tfm" 1532704561 520 7bb3abb160b19e0ed6ac404bb59052b7 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy9.tfm" 1532704561 520 1cc7cc05f4d7bae5c23bf7516f88fa52 "" + "c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasyb10.tfm" 1532704561 520 4bf1455197d190cb95c579bde4c2f0ba "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb" 1532703666 37912 07513ec114ac737ab54cea0152f4424b "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi6.pfb" 1532703666 37166 8ab3487cbe3ab49ebce74c29ea2418db "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" 1532703666 36281 c355509802a035cadc5f15869451dcee "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi9.pfb" 1532703666 36094 798f80770b3b148ceedd006d487db67c "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb" 1532703666 31809 8670ca339bf94e56da1fc21c80635e2a "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb" 1532703666 32734 69e00a6b65cedb993666e42eedb3d48f "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb" 1532703666 33993 9b89b85fd2d9df0482bd47194d1d3bf3 "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1532703666 32569 5e5ddc8df908dea60932f3c484a54c0d "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cmextra/cmex9.pfb" 1532703666 30212 f7062d6da71d1ec66ffb8906891648f7 "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/latxfont/lcircle1.pfb" 1532703666 10594 310261a6407d360eda1ed257d05cd4df "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb" 1532703666 34694 870c211f62cb72718a00e353f14f254d "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/cm-super/sftt0800.pfb" 1532703952 175641 e37e2df5b70b76a1b78bfb3b804197c7 "" + "c:/texlive/2018/texmf-dist/fonts/type1/public/cm-super/sftt0900.pfb" 1532703952 170827 b1cb46f82d978af2aeb6bf26777fa82d "" + "c:/texlive/2018/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" 1532705452 44729 fea0975e20ec51c992338362f05f1146 "" + "c:/texlive/2018/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" 1532705452 46026 687528a208fbfc1f00832bb96cccebbb "" + "c:/texlive/2018/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" 1532705452 45458 504e2b06fa82109d168c7a0afb09e145 "" + "c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf" 1532705452 2340 df9c920cc5688ebbf16a93f45ce7bdd3 "" + "c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf" 1532705452 2348 91706c542228501c410c266421fbe30c "" + "c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf" 1532705452 2328 6cd7df782b09b29cfc4d93e55b6b9a59 "" + "c:/texlive/2018/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1532704803 71627 94eb9990bed73c364d7f53f960cc8c5b "" + "c:/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty" 1532704456 1458 43ab4710dc82f3edeabecd0d099626b2 "" + "c:/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty" 1532704885 8237 3b62ef1f7e2c23a328c814b3893bc11f "" + "c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty" 1532704885 185313 3e16abd014cb2c328020e45d63ed7f45 "" + "c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty" 1532704885 70864 bcd5b216757bd619ae692a151d90085d "" + "c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1532703666 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c "" + "c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1532703666 13829 94730e64147574077f8ecfea9bb69af4 "" + "c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsa.fd" 1532703667 961 6518c6525a34feb5e8250ffa91731cff "" + "c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsb.fd" 1532703667 961 d02606146ba5601b5645f987c92e6193 "" + "c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1532703669 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 "" + "c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty" 1532703669 4161 7f6eb9092061a11f87d08ed13515b48d "" + "c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty" 1532703669 84354 7292177bb735c466b78634ee4efd537e "" + "c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty" 1532703669 4116 32e6abd27229755a83a8b7f18e583890 "" + "c:/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty" 1532703669 2432 8ff93b1137020e8f21930562a874ae66 "" + "c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty" 1532704554 4573 ae83473dfe6aea3508ab88d22c4457b2 "" + "c:/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty" 1532704554 5052 f2525dfd6e503dc383e90b568c6c9f02 "" + "c:/texlive/2018/texmf-dist/tex/latex/base/latexsym.sty" 1532704554 2856 7730103c7f3589c6c9d963ace57a7c18 "" + "c:/texlive/2018/texmf-dist/tex/latex/base/t1cmtt.fd" 1532704554 2446 898e9a1961d873c4471b5d9a683366d0 "" + "c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def" 1532704554 10008 3208fbcdd7b3f5dd0dda02e6507bf38c "" + "c:/texlive/2018/texmf-dist/tex/latex/base/textcomp.sty" 1532704554 16156 c88fab7ab9716ccedc3dc1fa0f1f22da "" + "c:/texlive/2018/texmf-dist/tex/latex/base/ts1cmr.fd" 1532704554 2433 cdefd2509a12ba58001f2024f63aae9a "" + "c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.def" 1532704554 7769 97b639552068544f7c98d557abb19f41 "" + "c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.dfu" 1532704554 4973 a0ebe45f171b33c2df4e84416140511f "" + "c:/texlive/2018/texmf-dist/tex/latex/base/ulasy.fd" 1532704554 2236 d19fc9d1775d819862989c760289e5a5 "" + "c:/texlive/2018/texmf-dist/tex/latex/eurosym/eurosym.sty" 1532704231 3028 8faeef64adee9b964b5e7f5e45921024 "" + "c:/texlive/2018/texmf-dist/tex/latex/float/float.sty" 1532704290 6749 16d2656a1984957e674b149555f1ea1d "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1532704382 1213 620bba36b25224fa9b7e1ccb4ecb76fd "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1532704382 1224 978390e9c2234eab29404bc21b268d1e "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics-def/pdftex.def" 1532704382 17334 520b9b85ad8a2a48eda3f643e27a5179 "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty" 1532704381 15272 5a97061616e0c8b2aa79c6615ff769f4 "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty" 1532704381 9063 d0a305975932762117cd1f06a582f896 "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty" 1532704381 2591 6404d0c7d28505fb38ce0d86c2e28ae7 "" + "c:/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty" 1532704381 3977 cb9221976ed8a183afad65b59aa8629a "" + "c:/texlive/2018/texmf-dist/tex/latex/hyperref/hpdftex.def" 1532704428 51699 9069fc983fff0db91d59a15af144ad62 "" + "c:/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty" 1532704428 234088 2c849389d62d41c593d9f5176c4116ab "" + "c:/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty" 1532704428 12949 81e4e808884a8f0e276b69410e234656 "" + "c:/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def" 1532704428 14098 4e70bf396c7c265bd8b0e5cab3fd3d4d "" + "c:/texlive/2018/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1532704577 678 4792914a8f45be57bb98413425e4c7af "" + "c:/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg" 1532704577 235 6031e5765137be07eed51a510b2b8fb7 "" + "c:/texlive/2018/texmf-dist/tex/latex/listings/listings.cfg" 1532704623 1827 d72ad54409ca5c1068a1939c63441bd2 "" + "c:/texlive/2018/texmf-dist/tex/latex/listings/listings.sty" 1532704623 80336 ff90c926c3d7bfdaa3d80ca57123b0bb "" + "c:/texlive/2018/texmf-dist/tex/latex/listings/lstmisc.sty" 1532704623 77028 c3eb00afb55a32bc13ca8da7f5234377 "" + "c:/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty" 1532704885 3834 4363110eb0ef1eb2b71c8fcbcdb6c357 "" + "c:/texlive/2018/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty" 1532704885 12095 5337833c991d80788a43d3ce26bd1c46 "" + "c:/texlive/2018/texmf-dist/tex/latex/oberdiek/grfext.sty" 1532704885 7075 2fe3d848bba95f139de11ded085e74aa "" + "c:/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1532704885 22417 1d9df1eb66848aa31b18a593099cf45c "" + "c:/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty" 1532704885 9581 023642318cef9f4677efe364de1e2a27 "" + "c:/texlive/2018/texmf-dist/tex/latex/preprint/authblk.sty" 1532705016 7016 985a983ce041cc8959cd31133cba0244 "" + "c:/texlive/2018/texmf-dist/tex/latex/psnfss/helvet.sty" 1532705035 1500 3c2647c8649928795ededd42a6e85f85 "" + "c:/texlive/2018/texmf-dist/tex/latex/psnfss/t1ptm.fd" 1532705035 774 61d7da1e9f9e74989b196d147e623736 "" + "c:/texlive/2018/texmf-dist/tex/latex/psnfss/times.sty" 1532705035 857 6c716f26c5eadfb81029fcd6ce2d45e6 "" + "c:/texlive/2018/texmf-dist/tex/latex/tools/bm.sty" 1532705483 12626 7d9d99d0bbe65f44cc0bb90f67262000 "" + "c:/texlive/2018/texmf-dist/tex/latex/tools/calc.sty" 1532705483 10212 357072c1d20578a30d6387d8a22e72ab "" + "c:/texlive/2018/texmf-dist/tex/latex/url/url.sty" 1532705573 12796 8edb7d69a20b857904dd0ea757c14ec9 "" + "c:/texlive/2018/texmf-dist/tex/latex/xcolor/xcolor.sty" 1532705635 55589 34128738f682d033422ca125f82e5d62 "" + "c:/texlive/2018/texmf-dist/web2c/texmf.cnf" 1532704534 33362 cf75436e19743e94a92a6b1b9183c434 "" + "c:/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1532705718 2912949 8f7ee2183ff143e9b4d7090a42e31c2f "" + "c:/texlive/2018/texmf-var/web2c/pdftex/pdflatex.fmt" 1532705791 4216821 c6cfb41a9e96e1693e4aebdc07e2f592 "" + "c:/texlive/2018/texmf.cnf" 1532705705 673 4ae7b2f49cee444c5343a45b5d0f169c "" + "chr.png" 1683852295 20097 8b947eba2e284b006acf447a3f577ddf "" + "jlcode.sty" 1683852295 18666 d33ccf865c532e11b9480876a6bb58b2 "" + "journal_dat.tex" 1683852295 156 e6e783a18daee23542a412a50a5ce4b0 "" + "juliacon.cls" 1683852295 31320 600c1d13c17d8cd54504ceeaf65a3e1c "" + "logojuliacon.pdf" 1683852295 4937 0cb75c4e65b0cf72a69c7716f140efe5 "" + "paper.aux" 1697250951 7778 783b8297805b6c89c5268c63f92cff8c "" + "paper.bbl" 1697250921 8236 ffd04e440fe56b7b73f83500d41489a8 "bibtex paper" + "paper.out" 1697250951 1369 1f68aa287eaf7868c2396c35550b552d "" + "paper.tex" 1697250947 26547 11d3ac8565a495d864600f275910bc32 "" + "solnspace.png" 1683852295 8537 21548aa816215210a45ef0cf5bc6a4c7 "" + "superstructure_pfd.png" 1683852295 71484 ccb9c3d50ea30611d678638f05ee9cf0 "" + (generated) + "paper.out" + "paper.log" + "paper.aux" + "paper.pdf" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.log" diff --git a/paper/paper.fls b/paper/paper.fls new file mode 100644 index 0000000..8b55dc3 --- /dev/null +++ b/paper/paper.fls @@ -0,0 +1,282 @@ +PWD c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper +INPUT c:/texlive/2018/texmf.cnf +INPUT c:/texlive/2018/texmf-dist/web2c/texmf.cnf +INPUT c:/texlive/2018/texmf-var/web2c/pdftex/pdflatex.fmt +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex +OUTPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.log +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/juliacon.cls +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/juliacon.cls +INPUT c:/texlive/2018/texmf-dist/tex/latex/psnfss/helvet.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/psnfss/helvet.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/latexsym.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/latexsym.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/url/url.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/url/url.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def +INPUT c:/texlive/2018/texmf-dist/fonts/map/fontname/texfonts.map +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/journal_dat.tex +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/journal_dat.tex +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx9.tfm +INPUT c:/texlive/2018/texmf-dist/tex/latex/psnfss/times.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/psnfss/times.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/tools/bm.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/tools/bm.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics-def/pdftex.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/hpdftex.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/jlcode.sty +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/jlcode.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/listings/listings.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/listings/listings.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/listings/lstmisc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/listings/listings.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/listings/listings.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/xcolor/xcolor.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/textcomp.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/textcomp.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.dfu +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.dfu +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amssymb.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amsfonts.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/eurosym/eurosym.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/eurosym/eurosym.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def +INPUT c:/texlive/2018/texmf-dist/tex/latex/tools/calc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/tools/calc.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/t1cmtt.fd +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ectt0900.tfm +INPUT c:/texlive/2018/texmf-dist/tex/latex/preprint/authblk.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/preprint/authblk.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/float/float.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/float/float.sty +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux +OUTPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ts1cmr.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/psnfss/t1ptm.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/psnfss/t1ptm.fd +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT c:/texlive/2018/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/grfext.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/oberdiek/grfext.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT c:/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +INPUT c:/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +OUTPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +OUTPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/logojuliacon.pdf +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/logojuliacon.pdf +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/logojuliacon.pdf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr17.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr12.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmex10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmex10.tfm +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ulasy.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/base/ulasy.fd +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmib10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmib10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmib10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasyb10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasyb10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasyb10.tfm +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmb8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr9.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr6.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy9.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy5.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx6.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx5.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib9.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib6.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib5.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmri8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT c:/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map +INPUT c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmb8t.vf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmri8t.vf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/solnspace.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/solnspace.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/solnspace.png +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmr8.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy8.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx8.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib8.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bigm.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bigm.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bigm.png +INPUT c:/texlive/2018/texmf-dist/fonts/vf/adobe/times/ptmr8t.vf +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/chr.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/chr.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/chr.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/superstructure_pfd.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/superstructure_pfd.png +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/superstructure_pfd.png +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/jknappen/ec/ectt0800.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/adobe/times/ptmr8t.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/latex-fonts/lasy7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbx7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmmib7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/cm/cmbsy10.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT c:/texlive/2018/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bib.tex +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bib.tex +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.bbl +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.bbl +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out +INPUT c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc +INPUT c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cmextra/cmex9.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi6.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi9.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/latxfont/lcircle1.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/amsfonts/symbols/msbm10.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/cm-super/sftt0800.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/public/cm-super/sftt0900.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/urw/times/utmb8a.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +INPUT c:/texlive/2018/texmf-dist/fonts/type1/urw/times/utmri8a.pfb diff --git a/paper/paper.log b/paper/paper.log new file mode 100644 index 0000000..f22a0cc --- /dev/null +++ b/paper/paper.log @@ -0,0 +1,845 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2018.7.27) 13 OCT 2023 22:35 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex +(c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex +LaTeX2e <2018-04-01> patch level 5 +(c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/juliacon.cls (c:/texlive/2018/texmf-dist/tex/latex/psnfss/helvet.sty +Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS) + (c:/texlive/2018/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +)) +Document Class: juliacon +(c:/texlive/2018/texmf-dist/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 52. +) (c:/texlive/2018/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) (c:/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2018/04/06 v1.3b Input encoding file +\inpenc@prehook=\toks15 +\inpenc@posthook=\toks16 +) (c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2017/04/05 v2.0i Standard LaTeX package + (c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) +\trimheight=\dimen102 +\trimwidth=\dimen103 +\typeheight=\dimen104 +\typewidth=\dimen105 +\normaltextheight=\dimen106 +\blindfoliodrop=\dimen107 +\tempbox=\box26 + (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/journal_dat.tex) +\tempdimen=\dimen108 +\normaltextheight=\dimen109 +\c@secnumbookdepth=\count80 +\c@theorem=\count81 +\c@strategy=\count82 +\c@property=\count83 +\c@proposition=\count84 +\c@exam=\count85 +\c@part=\count86 +\c@section=\count87 +\c@subsection=\count88 +\c@subsubsection=\count89 +\c@paragraph=\count90 +\c@figure=\count91 +\c@table=\count92 +\belowcaptionskip=\skip41 +\tbbox=\box27 +\tabledim=\dimen110 +\@narrowfig=\dimen111 +\@nfigbox=\box28 +\@nfcapbox=\box29 +\@abstract=\box30 +\@terms=\box31 +\@keywords=\box32 +\bibindent=\dimen112 +LaTeX Info: Redefining \cal on input line 900. + (c:/texlive/2018/texmf-dist/tex/latex/psnfss/times.sty +Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) +) (c:/texlive/2018/texmf-dist/tex/latex/tools/bm.sty +Package: bm 2017/01/16 v1.2c Bold Symbol Support (DPC/FMi) +\symboldoperators=\mathgroup5 +\symboldletters=\mathgroup6 +\symboldsymbols=\mathgroup7 +\symboldlasy=\mathgroup8 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 141. +LaTeX Info: Redefining \bm on input line 207. +) (c:/texlive/2018/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR) + (c:/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR) + (c:/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) (c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 99. + (c:/texlive/2018/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen113 +\Gin@req@width=\dimen114 +) (c:/texlive/2018/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2018/02/06 v6.86b Hypertext links for LaTeX + (c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO) + (c:/texlive/2018/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO) +Package: hobsub 2016/05/16 v1.14 Construct package bundles (HO) +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package: ifvtex 2016/05/16 v1.6 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +Package: intcalc 2016/05/16 v1.2 Expandable calculations with integers (HO) +Package: ifpdf 2017/03/15 v3.2 Provides the ifpdf switch +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +Package: pdftexcmds 2018/01/30 v0.27 Utility functions of pdfTeX for LuaTeX (HO) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2016/05/16 v1.14 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2016/05/16 v1.4 Expandable calculations on big integers (HO) +Package: bitset 2016/05/16 v1.2 Handle bit-vector datatype (HO) +Package: uniquecounter 2016/05/16 v1.3 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2016/05/16 v1.5 Let assignment for LaTeX macros (HO) +Package: hopatch 2016/05/16 v1.3 Wrapper for package hooks (HO) +Package: xcolor-patch 2016/05/16 xcolor patch +Package: atveryend 2016/05/16 v1.9 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package: atbegshi 2016/06/09 v1.18 At begin shipout hook (HO) +Package: refcount 2016/05/16 v3.5 Data extraction from label references (HO) +Package: hycolor 2016/05/16 v1.8 Color options for hyperref/bookmark (HO) +) (c:/texlive/2018/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) (c:/texlive/2018/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2016/05/16 v1.4 Hooks for auxiliary files (HO) +) (c:/texlive/2018/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) +) +\@linkdim=\dimen115 +\Hy@linkcounter=\count93 +\Hy@pagecounter=\count94 + (c:/texlive/2018/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO) +Now handling font encoding PD1 ... +... no UTF-8 mapping file for font encoding PD1 +) +\Hy@SavedSpaceFactor=\count95 + (c:/texlive/2018/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Hyper figures OFF on input line 4509. +Package hyperref Info: Link nesting OFF on input line 4514. +Package hyperref Info: Hyper index ON on input line 4517. +Package hyperref Info: Plain pages OFF on input line 4524. +Package hyperref Info: Backreferencing OFF on input line 4529. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4762. +\c@Hy@tempcnt=\count96 +LaTeX Info: Redefining \url on input line 5115. +\XeTeXLinkMargin=\dimen116 +\Fld@menulength=\count97 +\Field@Width=\dimen117 +\Fld@charsize=\dimen118 +Package hyperref Info: Hyper figures OFF on input line 6369. +Package hyperref Info: Link nesting OFF on input line 6374. +Package hyperref Info: Hyper index ON on input line 6377. +Package hyperref Info: backreferencing OFF on input line 6384. +Package hyperref Info: Link coloring OFF on input line 6389. +Package hyperref Info: Link coloring with OCG OFF on input line 6394. +Package hyperref Info: PDF/A mode OFF on input line 6399. +LaTeX Info: Redefining \ref on input line 6439. +LaTeX Info: Redefining \pageref on input line 6443. +\Hy@abspage=\count98 +\c@Item=\count99 +\c@Hfootnote=\count100 +) +Package hyperref Info: Driver (autodetected): hpdftex. + (c:/texlive/2018/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2018/02/06 v6.86b Hyperref driver for pdfTeX +\Fld@listcount=\count101 +\c@bookmark@seq@number=\count102 + (c:/texlive/2018/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2016/05/16 v1.8 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 282. +) +\Hy@SectionHShift=\skip42 +) (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/jlcode.sty +-- Package: `jlcode' 2.1 <2018/03/06> -- +Package: jlcode 2018/03/06 2.1 +(c:/texlive/2018/texmf-dist/tex/latex/listings/listings.sty +\lst@mode=\count103 +\lst@gtempboxa=\box33 +\lst@token=\toks17 +\lst@length=\count104 +\lst@currlwidth=\dimen119 +\lst@column=\count105 +\lst@pos=\count106 +\lst@lostspace=\dimen120 +\lst@width=\dimen121 +\lst@newlines=\count107 +\lst@lineno=\count108 +\abovecaptionskip=\skip43 +\belowcaptionskip=\skip44 +\lst@maxwidth=\dimen122 + (c:/texlive/2018/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2015/06/04 1.6 (Carsten Heinz) +\c@lstnumber=\count109 +\lst@skipnumbers=\count110 +\lst@framebox=\box34 +) (c:/texlive/2018/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2015/06/04 1.6 listings configuration +)) +Package: listings 2015/06/04 1.6 (Carsten Heinz) + (c:/texlive/2018/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + (c:/texlive/2018/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) (c:/texlive/2018/texmf-dist/tex/latex/base/textcomp.sty +Package: textcomp 2017/04/05 v2.0i Standard LaTeX package +Package textcomp Info: Sub-encoding information: +(textcomp) 5 = only ISO-Adobe without \textcurrency +(textcomp) 4 = 5 + \texteuro +(textcomp) 3 = 4 + \textohm +(textcomp) 2 = 3 + \textestimated + \textcurrency +(textcomp) 1 = TS1 - \textcircled - \t +(textcomp) 0 = TS1 (full) +(textcomp) Font families with sub-encoding setting implement +(textcomp) only a restricted character set as indicated. +(textcomp) Family '?' is the default used for unknown fonts. +(textcomp) See the documentation for details. +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 79. + (c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.def +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file +Now handling font encoding TS1 ... +... processing UTF-8 mapping file for font encoding TS1 + (c:/texlive/2018/texmf-dist/tex/latex/base/ts1enc.dfu +File: ts1enc.dfu 2018/04/05 v1.2c UTF-8 support for inputenc + defining Unicode char U+00A2 (decimal 162) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00A4 (decimal 164) + defining Unicode char U+00A5 (decimal 165) + defining Unicode char U+00A6 (decimal 166) + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00A8 (decimal 168) + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AC (decimal 172) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00AF (decimal 175) + defining Unicode char U+00B0 (decimal 176) + defining Unicode char U+00B1 (decimal 177) + defining Unicode char U+00B2 (decimal 178) + defining Unicode char U+00B3 (decimal 179) + defining Unicode char U+00B4 (decimal 180) + defining Unicode char U+00B5 (decimal 181) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+00B9 (decimal 185) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+00BC (decimal 188) + defining Unicode char U+00BD (decimal 189) + defining Unicode char U+00BE (decimal 190) + defining Unicode char U+00D7 (decimal 215) + defining Unicode char U+00F7 (decimal 247) + defining Unicode char U+0192 (decimal 402) + defining Unicode char U+02C7 (decimal 711) + defining Unicode char U+02D8 (decimal 728) + defining Unicode char U+02DD (decimal 733) + defining Unicode char U+0E3F (decimal 3647) + defining Unicode char U+2016 (decimal 8214) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+203B (decimal 8251) + defining Unicode char U+203D (decimal 8253) + defining Unicode char U+2044 (decimal 8260) + defining Unicode char U+204E (decimal 8270) + defining Unicode char U+2052 (decimal 8274) + defining Unicode char U+20A1 (decimal 8353) + defining Unicode char U+20A4 (decimal 8356) + defining Unicode char U+20A6 (decimal 8358) + defining Unicode char U+20A9 (decimal 8361) + defining Unicode char U+20AB (decimal 8363) + defining Unicode char U+20AC (decimal 8364) + defining Unicode char U+20B1 (decimal 8369) + defining Unicode char U+2103 (decimal 8451) + defining Unicode char U+2116 (decimal 8470) + defining Unicode char U+2117 (decimal 8471) + defining Unicode char U+211E (decimal 8478) + defining Unicode char U+2120 (decimal 8480) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2126 (decimal 8486) + defining Unicode char U+2127 (decimal 8487) + defining Unicode char U+212E (decimal 8494) + defining Unicode char U+2190 (decimal 8592) + defining Unicode char U+2191 (decimal 8593) + defining Unicode char U+2192 (decimal 8594) + defining Unicode char U+2193 (decimal 8595) + defining Unicode char U+2329 (decimal 9001) + defining Unicode char U+232A (decimal 9002) + defining Unicode char U+2422 (decimal 9250) + defining Unicode char U+25E6 (decimal 9702) + defining Unicode char U+25EF (decimal 9711) + defining Unicode char U+266A (decimal 9834) + defining Unicode char U+FEFF (decimal 65279) +)) +LaTeX Info: Redefining \oldstylenums on input line 334. +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 349. +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 350. +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 351. +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 352. +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 353. +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 354. +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 355. +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 356. +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 357. +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 358. +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 359. +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 360. +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 361. +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 362. +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 363. +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 364. +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 365. +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 366. +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 367. +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 368. +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 369. +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 370. +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 371. +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 372. +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 373. +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 374. +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 375. +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 376. +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 377. +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 378. +Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 379. +Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 380. +Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 381. +Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 382. +Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 383. +Package textcomp Info: Setting lmtt sub-encoding to TS1/0 on input line 384. +Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 385. +Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 386. +Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 387. +Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 388. +Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 389. +Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 390. +Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 391. +Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 392. +Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 393. +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 394. +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 395. +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 396. +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 397. +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 398. +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 399. +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 400. +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 401. +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 402. +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 403. +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 404. +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 405. +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 406. +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 407. +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 408. +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 409. +) (c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + (c:/texlive/2018/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\@emptytoks=\toks18 +\symAMSa=\mathgroup9 +\symAMSb=\mathgroup10 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) (c:/texlive/2018/texmf-dist/tex/latex/eurosym/eurosym.sty +Package: eurosym 1998/08/06 v1.1 European currency symbol ``Euro'' +\@eurobox=\box35 +) (c:/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2017/04/05 v2.0i Standard LaTeX package + (c:/texlive/2018/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) (c:/texlive/2018/texmf-dist/tex/latex/tools/calc.sty +Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ) +\calc@Acount=\count111 +\calc@Bcount=\count112 +\calc@Adimen=\dimen123 +\calc@Bdimen=\dimen124 +\calc@Askip=\skip45 +\calc@Bskip=\skip46 +LaTeX Info: Redefining \setlength on input line 80. +LaTeX Info: Redefining \addtolength on input line 81. +\calc@Ccount=\count113 +\calc@Cskip=\skip47 +) +\bfem=\skip48 +LaTeX Font Info: Try loading font information for T1+cmtt on input line 414. + (c:/texlive/2018/texmf-dist/tex/latex/base/t1cmtt.fd +File: t1cmtt.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +\xmrgn=\skip49 +) (c:/texlive/2018/texmf-dist/tex/latex/preprint/authblk.sty +Package: authblk 2001/02/27 1.3 (PWD) +\affilsep=\skip50 +\@affilsep=\skip51 +\c@Maxaffil=\count114 +\c@authors=\count115 +\c@affil=\count116 +)) (c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2017/09/02 v2.17a AMS math features +\@mathmargin=\skip52 + +For additional information on amsmath, use the `?' option. +(c:/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + (c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks19 +\ex@=\dimen125 +)) (c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +LaTeX Info: Redefining \boldsymbol on input line 28. +\pmbraise@=\dimen126 +) (c:/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count117 +LaTeX Info: Redefining \frac on input line 213. +\uproot@=\count118 +\leftroot@=\count119 +LaTeX Info: Redefining \overline on input line 375. +\classnum@=\count120 +\DOTSCASE@=\count121 +LaTeX Info: Redefining \ldots on input line 472. +LaTeX Info: Redefining \dots on input line 475. +LaTeX Info: Redefining \cdots on input line 596. +\Mathstrutbox@=\box36 +\strutbox@=\box37 +\big@size=\dimen127 +LaTeX Font Info: Redeclaring font encoding OML on input line 712. +LaTeX Font Info: Redeclaring font encoding OMS on input line 713. +\macc@depth=\count122 +\c@MaxMatrixCols=\count123 +\dotsspace@=\muskip11 +\c@parentequation=\count124 +\dspbrk@lvl=\count125 +\tag@help=\toks20 +\row@=\count126 +\column@=\count127 +\maxfields@=\count128 +\andhelp@=\toks21 +\eqnshift@=\dimen128 +\alignsep@=\dimen129 +\tagshift@=\dimen130 +\tagwidth@=\dimen131 +\totwidth@=\dimen132 +\lineht@=\dimen133 +\@envbody=\toks22 +\multlinegap=\skip53 +\multlinetaggap=\skip54 +\mathdisplay@stack=\toks23 +LaTeX Info: Redefining \[ on input line 2817. +LaTeX Info: Redefining \] on input line 2818. +) (c:/texlive/2018/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count129 +\float@exts=\toks24 +\float@box=\box38 +\@float@everytoks=\toks25 +\@floatcapt=\box39 +) (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux) +\openout1 = `paper.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 6. +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 6. +LaTeX Font Info: Try loading font information for TS1+cmr on input line 6. + (c:/texlive/2018/texmf-dist/tex/latex/base/ts1cmr.fd +File: ts1cmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: ... okay on input line 6. +LaTeX Font Info: Try loading font information for T1+ptm on input line 6. + (c:/texlive/2018/texmf-dist/tex/latex/psnfss/t1ptm.fd +File: t1ptm.fd 2001/06/04 font definitions for T1/ptm. +) (c:/texlive/2018/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count130 +\scratchdimen=\dimen134 +\scratchbox=\box40 +\nofMPsegments=\count131 +\nofMParguments=\count132 +\everyMPshowfont=\toks26 +\MPscratchCnt=\count133 +\MPscratchDim=\dimen135 +\MPnumerator=\count134 +\makeMPintoPDFobject=\count135 +\everyMPtoPDFconversion=\toks27 +) (c:/texlive/2018/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + (c:/texlive/2018/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) +) +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 438. +Package grfext Info: Graphics extension search list: +(grfext) [.pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,.PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + (c:/texlive/2018/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live +)) +\AtBeginShipoutBox=\box41 +Package hyperref Info: Link coloring OFF on input line 6. + (c:/texlive/2018/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2016/05/21 v2.44 Cross-referencing by name of section + (c:/texlive/2018/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2016/05/16 v1.5 Cleanup title references (HO) +) +\c@section@level=\count136 +) +LaTeX Info: Redefining \ref on input line 6. +LaTeX Info: Redefining \pageref on input line 6. +LaTeX Info: Redefining \nameref on input line 6. + (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out) (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.out) +\@outlinefile=\write3 +\openout3 = `paper.out'. + +\c@lstlisting=\count137 + +File: logojuliacon.pdf Graphic file (type pdf) + +Package pdftex.def Info: logojuliacon.pdf used on input line 15. +(pdftex.def) Requested size: 72.26999pt x 24.4797pt. +LaTeX Font Info: Try loading font information for U+lasy on input line 15. + (c:/texlive/2018/texmf-dist/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions +) +LaTeX Font Info: Try loading font information for U+msa on input line 15. + (c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 15. + (c:/texlive/2018/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10> not available +(Font) Font shape `T1/ptm/b/n' tried instead on input line 17. +LaTeX Font Info: Font shape `U/lasy/b/n' in size <9> not available +(Font) Font shape `U/lasy/m/n' tried instead on input line 39. +LaTeX Font Info: Font shape `U/lasy/b/n' in size <6> not available +(Font) Font shape `U/lasy/m/n' tried instead on input line 39. +LaTeX Font Info: Font shape `U/lasy/b/n' in size <5> not available +(Font) Font shape `U/lasy/m/n' tried instead on input line 39. + +Underfull \hbox (badness 10000) has occurred while \output is active + + [] + +[1{c:/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map} +Non-PDF special ignored! + papersize=8.5in,11in + + + ] + +File: solnspace.png Graphic file (type png) + +Package pdftex.def Info: solnspace.png used on input line 103. +(pdftex.def) Requested size: 231.26343pt x 173.44757pt. +LaTeX Font Info: Font shape `U/lasy/b/n' in size <8> not available +(Font) Font shape `U/lasy/m/n' tried instead on input line 104. + +File: bigm.png Graphic file (type png) + +Package pdftex.def Info: bigm.png used on input line 135. +(pdftex.def) Requested size: 231.26343pt x 173.44757pt. + +Overfull \vbox (2.39996pt too high) has occurred while \output is active [] + + +Underfull \hbox (badness 10000) has occurred while \output is active + \T1/ptm/m/n/9 2 + [] + +[2pdfTeX warning (ext4): destination with the same identifier (name{figure.1}) has been already used, duplicate ignored + +\AtBegShi@Output ...ipout \box \AtBeginShipoutBox + \fi \fi +l.146 \end{equation} + pdfTeX warning (ext4): destination with the same identifier (name{figure.2}) has been already used, duplicate ignored + +\AtBegShi@Output ...ipout \box \AtBeginShipoutBox + \fi \fi +l.146 \end{equation} + ] + +File: chr.png Graphic file (type png) + +Package pdftex.def Info: chr.png used on input line 174. +(pdftex.def) Requested size: 231.26343pt x 173.44757pt. + +Overfull \vbox (2.39996pt too high) has occurred while \output is active [] + + +Underfull \hbox (badness 10000) has occurred while \output is active + \T1/ptm/m/n/9 3 + [] + +[3pdfTeX warning (ext4): destination with the same identifier (name{figure.3}) has been already used, duplicate ignored + +\AtBegShi@Output ...ipout \box \AtBeginShipoutBox + \fi \fi +l.219 + ] +Underfull \hbox (badness 10000) in paragraph at lines 224--225 +\T1/ptm/m/n/9 The fol-low-ing sec-tion de-scribes the fea-tures of the + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 224--225 +[][]\T1/cmtt/m/n/9 DisjunctiveProgramming.jl []\T1/ptm/m/n/9 pack-age and il-lus-trates its + [] + + +File: superstructure_pfd.png Graphic file (type png) + +Package pdftex.def Info: superstructure_pfd.png used on input line 241. +(pdftex.def) Requested size: 240.09274pt x 76.28363pt. +LaTeX Font Info: Font shape `T1/cmtt/bx/n' in size <7> not available +(Font) Font shape `T1/cmtt/m/n' tried instead on input line 307. + +Overfull \vbox (2.39996pt too high) has occurred while \output is active [] + + +Underfull \hbox (badness 10000) has occurred while \output is active + \T1/ptm/m/n/9 4 + [] + +[4pdfTeX warning (ext4): destination with the same identifier (name{figure.4}) has been already used, duplicate ignored + +\AtBegShi@Output ...ipout \box \AtBeginShipoutBox + \fi \fi +l.319 # + add global constraints to model ] +LaTeX Font Info: Font shape `U/lasy/b/n' in size <7> not available +(Font) Font shape `U/lasy/m/n' tried instead on input line 331. + +Underfull \hbox (badness 10000) in paragraph at lines 331--332 +[][][][][][][][][][][][][][][][][][][][][][] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 335--336 +[][][][][][][][][][][][][][][][][][][][][][] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 344--345 +[][][][][][][][][][][][][][][][][][][][][][] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 345--346 +[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 350--351 +[][][][][][][][][][][][][][][][][][][][][][] + [] + + +Underfull \vbox (badness 2828) has occurred while \output is active [] + + (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bib.tex (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.bbl +Underfull \hbox (badness 6842) in paragraph at lines 35--39 +[]\T1/ptm/m/n/9 Qi Chen and Ig-na-cio Gross-mann. Mod-ern mod-el-ing + [] + + +Overfull \vbox (2.39996pt too high) has occurred while \output is active [] + + +Underfull \hbox (badness 10000) has occurred while \output is active + \T1/ptm/m/n/9 5 + [] + +[5] +Underfull \hbox (badness 5802) in paragraph at lines 69--73 +[]\T1/ptm/m/n/9 Ignacio E. Gross-mann. \T1/ptm/m/it/9 Logic-based outer ap-prox-i-ma- + [] + + +Underfull \hbox (badness 1590) in paragraph at lines 75--80 +[]\T1/ptm/m/n/9 Kevin C. Fur-man, Nico-las W. Sawaya, and Ig-na-cio E. + [] + + +Underfull \hbox (badness 6978) in paragraph at lines 82--87 +[]\T1/ptm/m/n/9 Shashi Gowda, Yingbo Ma, Alessan-dro Cheli, Maja + [] + + +Underfull \hbox (badness 2512) in paragraph at lines 82--87 +\T1/ptm/m/n/9 Gwó¹zd¹, Vi-ral B. Shah, Alan Edel-man, and Christo- + [] + + +Underfull \hbox (badness 7308) in paragraph at lines 82--87 +\T1/ptm/m/n/9 pher Rack-auckas. High-performance symbolic-numerics + [] + + +Underfull \hbox (badness 1168) in paragraph at lines 82--87 +\T1/ptm/m/n/9 via mul-ti-ple dis-patch. \T1/ptm/m/it/9 ACM Com-mun. Com-put. Al-ge-bra\T1/ptm/m/n/9 , + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 139--144 +[]\T1/ptm/m/n/9 Fahad Ma-tovu, Shuhaimi Ma-hadzir, Rasel Ahmed, + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 139--144 +\T1/ptm/m/n/9 and Nor Erniza Mo-ham-mad Rozali. Syn-the-sis and + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 139--144 +\T1/ptm/m/n/9 op-ti-miza-tion of mul-ti-level re-frig-er-a-tion sys-tems us- + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 139--144 +\T1/ptm/m/n/9 ing gen-er-al-ized dis-junc-tive pro-gram-ming. \T1/ptm/m/it/9 Com-put- + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 139--144 +\T1/ptm/m/it/9 ers & Chem-i-cal En-gi-neer-ing\T1/ptm/m/n/9 , 163:107856, 2022. + [] + + +Underfull \hbox (badness 3148) in paragraph at lines 146--151 +[]\T1/ptm/m/n/9 Miguel A. Navarro-Amorós, Rubén Ruiz-Femenia, and + [] + + +Underfull \hbox (badness 1496) in paragraph at lines 146--151 +\T1/ptm/m/n/9 José A. Ca-ballero. In-te-gra-tion of mod-u-lar pro-cess sim- + [] + + +Underfull \hbox (badness 4229) in paragraph at lines 146--151 +\T1/ptm/m/n/9 u-la-tors un-der the gen-er-al-ized dis-junc-tive pro-gram-ming + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 146--151 +\T1/ptm/m/n/9 frame-work for the struc-tural flow-sheet op-ti-miza-tion. + [] + + +Underfull \hbox (badness 5050) in paragraph at lines 146--151 +\T1/ptm/m/it/9 Com-put-ers & Chem-i-cal En-gi-neer-ing\T1/ptm/m/n/9 , 67:13--25, 2014. + [] + + +Underfull \hbox (badness 2205) in paragraph at lines 158--162 +[]\T1/ptm/m/n/9 Francisco Tres-pala-cios and Ig-na-cio E. Gross-mann. Im- + [] + + +Underfull \hbox (badness 1454) in paragraph at lines 158--162 +\T1/ptm/m/n/9 grams. \T1/ptm/m/it/9 Com-put-ers & Chem-i-cal En-gi-neer-ing\T1/ptm/m/n/9 , 76:98--103, + [] + + +Underfull \hbox (badness 1237) in paragraph at lines 164--168 +\T1/ptm/m/it/9 IN-FORMS Jour-nal on Com-put-ing\T1/ptm/m/n/9 , 28(2):209^^U222, 2016. + [] + +)) +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 380. + +Overfull \vbox (2.39996pt too high) has occurred while \output is active [] + + +Underfull \hbox (badness 10000) has occurred while \output is active + \T1/ptm/m/n/9 6 + [] + +[6] +Package atveryend Info: Empty hook `AfterLastShipout' on input line 380. + (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 380. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 380. +Package rerunfilecheck Info: File `paper.out' has not changed. +(rerunfilecheck) Checksum: 1F68AA287EAF7868C2396C35550B552D;1369. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 380. + ) +Here is how much of TeX's memory you used: + 10234 strings out of 492646 + 140001 string characters out of 6133325 + 359730 words of memory out of 5000000 + 13801 multiletter control sequences out of 15000+600000 + 49036 words of font info for 110 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 40i,14n,44p,1244b,2610s stack positions out of 5000i,500n,10000p,200000b,80000s +{c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}{c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc} +Output written on c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf (6 pages, 349541 bytes). +PDF statistics: + 431 PDF objects out of 1000 (max. 8388607) + 394 compressed objects within 4 object streams + 150 named destinations out of 1000 (max. 500000) + 186 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/paper/paper.out b/paper/paper.out new file mode 100644 index 0000000..757f239 --- /dev/null +++ b/paper/paper.out @@ -0,0 +1,20 @@ +\BOOKMARK [1][-]{section.1}{Introduction}{}% 1 +\BOOKMARK [1][-]{section.2}{Generalized Disjunctive Programming}{}% 2 +\BOOKMARK [2][-]{subsection.2.1}{Model}{section.2}% 3 +\BOOKMARK [2][-]{subsection.2.2}{Solution Technique: Reformulation to Mixed-Integer Program}{section.2}% 4 +\BOOKMARK [3][-]{subsubsection.2.2.1}{Big-M Reformulation}{subsection.2.2}% 5 +\BOOKMARK [3][-]{subsubsection.2.2.2}{Hull Reformulation}{subsection.2.2}% 6 +\BOOKMARK [2][-]{subsection.2.3}{Logic constraint reformulation}{section.2}% 7 +\BOOKMARK [3][-]{subsubsection.2.3.1}{Propositional Logic}{subsection.2.3}% 8 +\BOOKMARK [3][-]{subsubsection.2.3.2}{Constraint Programming}{subsection.2.3}% 9 +\BOOKMARK [2][-]{subsection.2.4}{Other Solution Techniques}{section.2}% 10 +\BOOKMARK [3][-]{subsubsection.2.4.1}{Disjunctive branch and bound}{subsection.2.4}% 11 +\BOOKMARK [3][-]{subsubsection.2.4.2}{Logic-based outer approximation}{subsection.2.4}% 12 +\BOOKMARK [3][-]{subsubsection.2.4.3}{Hybrid cutting planes}{subsection.2.4}% 13 +\BOOKMARK [1][-]{section.3}{DisjunctiveProgramming.jl}{}% 14 +\BOOKMARK [2][-]{subsection.3.1}{Features}{section.3}% 15 +\BOOKMARK [2][-]{subsection.3.2}{Example}{section.3}% 16 +\BOOKMARK [1][-]{section.4}{Future Work}{}% 17 +\BOOKMARK [1][-]{section.5}{Related Work}{}% 18 +\BOOKMARK [1][-]{section.6}{Conclusion}{}% 19 +\BOOKMARK [1][-]{section.7}{References}{}% 20 diff --git a/paper/paper.pdf b/paper/paper.pdf index 5a5d12ab4f18ade00a4ca775bc01e8dbf8a074a3..d19db58fc101906c56a2a9437ade7ada0eef7382 100644 GIT binary patch delta 175453 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 z14git�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 delta 174816 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�gP5_f+*zOhLZ09STw+qP}n_8Hr@ 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 LlDWH^!RT`tTMcy?i$OlT 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 diff --git a/paper/paper.synctex.gz b/paper/paper.synctex.gz new file mode 100644 index 0000000000000000000000000000000000000000..fd632282a02c4b9e23720b00dc27b972abf5b310 GIT binary patch literal 125856 zcmV)iK%&1NiwFP!000003begl&s{mLCU#%HVh-R78>s5i_lIxiTqGC41V|>BpwS4b zt6jE_>kGE)#En7zd!9#oNlS~A_TH{D)2_DPmy4t*iK0k-Q2)n2fBo_QeDmM_)BpA6 z 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 Date: Fri, 13 Oct 2023 22:40:28 -0400 Subject: [PATCH 09/28] update example in readme for review --- README.md | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index c92f8ea..a6c5037 100644 --- a/README.md +++ b/README.md @@ -134,19 +134,28 @@ The example below is from the [Cornell University Computational Optimization Ope ```julia using DisjunctiveProgramming +using HiGHS -m = GDPModel() +m = GDPModel(HiGHS.Optimizer) @variable(m, 0 ≤ x[1:2] ≤ 20) @variable(m, Y[1:2], Logical) @constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) @constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) @disjunction(m, Y) @constraint(m, Y in Exactly(1)) #logical constraint +@objective(m, Max, sum(x)) +print(m) +# Max x[1] + x[2] +# Subject to +# x[1] ≥ 0 +# x[2] ≥ 0 +# x[1] ≤ 20 +# x[2] ≤ 20 -## Big-M -reformulate_model(m, BigM(100, false)) #specify M value and disable M-tightening +## +optimize!(m, method = BigM(100, false)) #specify M value and disable M-tightening print(m) -# Feasibility +# Max x[1] + x[2] # Subject to # Y[1] + Y[2] = 1 # x[1] - 100 Y[1] ≥ -98 @@ -164,10 +173,10 @@ print(m) # Y[1] binary # Y[2] binary -## Hull -reformulate_model(m, Hull()) +## +optimize!(m, method = Hull()) print(m) -# Feasibility +# Max x[1] + x[2] # Subject to # -x[2] + x[2]_Y[1] + x[2]_Y[2] = 0 # -x[1] + x[1]_Y[1] + x[1]_Y[2] = 0 @@ -202,21 +211,4 @@ print(m) # x[1]_Y[2] ≤ 20 # Y[1] binary # Y[2] binary - -## Indicator -reformulate_model(m, Indicator()) -print(m) -# Feasibility -# Subject to -# Y[1] + Y[2] = 1 -# x[1] ≥ 0 -# x[2] ≥ 0 -# x[1] ≤ 20 -# x[2] ≤ 20 -# Y[1] binary -# Y[2] binary -# Y[1] => {x[1] ∈ [2, 6]} -# Y[1] => {x[2] ∈ [5, 9]} -# Y[2] => {x[1] ∈ [8, 11]} -# Y[2] => {x[2] ∈ [10, 15]} ``` From ebb4ad7b0ebd9b86919f027916794c823074b61a Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 13 Oct 2023 22:45:56 -0400 Subject: [PATCH 10/28] add readme to docs --- docs/make.jl | 3 +- docs/src/api.md | 6 ++ docs/src/assets/logo.png | Bin 0 -> 443931 bytes docs/src/index.md | 216 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 222 insertions(+), 3 deletions(-) create mode 100644 docs/src/api.md create mode 100644 docs/src/assets/logo.png diff --git a/docs/make.jl b/docs/make.jl index 627842f..b5b960a 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -4,7 +4,8 @@ makedocs( sitename = "DisjunctiveProgramming.jl", modules = [DisjunctiveProgramming], pages=[ - "Home" => "index.md" + "Home" => "index.md", + "API" => "api.md" ], checkdocs = :none ) diff --git a/docs/src/api.md b/docs/src/api.md new file mode 100644 index 0000000..d05fa94 --- /dev/null +++ b/docs/src/api.md @@ -0,0 +1,6 @@ +# API + +```@autodocs +Modules = [Foo, Bar, Bar.Baz] +Order = [:function, :type] +``` \ No newline at end of file diff --git a/docs/src/assets/logo.png b/docs/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2b3b39a92828c50075dab9d68a912265108a34 GIT binary patch literal 443931 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�~TB4u? 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 r~$& zx-;ePHw<}dzMAt9m8!@G={RYM%KiFFFe-IW0ifbBFUhs(q6BrYhs`F0a2AS7(h0biI=L_N|pOuXwh$zIKnAp>=14T2kn92@| zo$4ssO(&YR+U?%i1rEJ8pTT~e3<8zOkmqzaiAF>pi<7O2<{A07Lxijqd*|1vqJ1M5 zb*%nr$d7K`^>$dmPTAOYdyJ6&$ue}R;(Z75W#cnh$)Cg~A6e5oRersr8_^2^x$*6tO@>0i0bMWD> zX9#CKWXfZ}P5$>-?e*)(A;3d6FlfIzEa{@-#< zr)2R^dpz-H6g|vp*~TT_H&dq1L0Fe5EXADx%?%&UJQn7!`>(fOVd#)L+WZk`QSvv- zEpGHbXeERU=X@I3{{Ss`ioFtkm=D>)4#ZHm;u+o&sy29IH2#LZxc(SgJ1mBXL1F*R zo{UeR0v`=%un$|B;!_XTN|>uPZ9WD{q*MicrlH$2-C}ezz#jYu7Q&)^1Y^KZ2Oowy zrHiWppu*!XHFl@kQ3kIFjUFle?db02wC!I zAH7GlZC>4=-M|z)BIQ&^RFGCv`wZE8sE5bL1DZSI7MwuXH5@ zgAqL#sXZ7#`2Lv%OwGmYyd z(2Zjq|4@G6N!GE3n*SYs^!e0bmdS%k-<+(2WLCsz!zYX#9fVFF{&xuvRQR*Mqn$n? zvwqhWGG^AYx5{qYzH2SdG%!r;l(%-i__zMDxqU^RU`)WiHd*Ru9rZ)(4-9kK(z1>qU?if;KV2l#~tINQ4~tj^w1XfIAK2;cXA0QpWAWB#M9D*w@G zXBtvtEpN$Xz~kWl3c3S#J3l$3{YHOQt7GxIchbEWsuD+7!TW^7;X(DYO{4A+N!%Jl zXliHJFGwO@_?x8G1;?6=94syb*s5R~^%C(n^mhzHi{TyN3g76X#^}E7`sffVyR_CJd`!@AJ3*zaXQ*h*I=&(?}6Q{rX+9V`A<6zMns3PMGU? zIkGCR_E2zWm?=WbIY%q5h;O$>GXZAEFl4A84yQL5?!#7RJ;s=hVZDNWr72wnE&Tu! z)hLsiAnYsq0NGNHnD7zK^Y7TF&=HD1Q*G~+sPMAF3aKeLSYxEZZ9{L*q+~@-t$ohb6vI-ul1Ik zPVUZ7i|s?+z%CX(LTD|V1hGCj>wHN)uIrh*J9U8 zc=}!Svz{4b5z=;FdK(kzH&ZDKAX18*g(4^f3N6?f9~6s=YT7?e5C9}>fLgL4D#=O< zks-D8P#My7doWh7BNNgdsB5~I1L}Ml7D@EuU~73M4I;r(ck$)do9k)^fUb!KGXniC@)8h z3<=A57J#ykg-kC^cBxv#)Q?|q>wb98Ziu^BOrTbMJUW0AOh}NApx+5i7krA#4eHIp zU)+~Ap!s>x$ydZWu+<>zNE+!bQ03b$)Z?15%?w#q+Xj*Vt&8nus2b!*% zT8zJlZO~4?)gJhVBn^iWv04v{5`AQznJs@Cm3A)!?%o>vhM@(DDW3+2dp}{^r-VFz zxFqJ?3a%#>tL{R&T`*6s%QFKZpmaAKcIA|wVTd0iwVvG@7kOAD_S?)1Y8C^c;5afR zVr`x%$w%pVw8k8)mpgOt8r*BI|GT(P({wd+BNA{^lg>%^Vlu274%W?rc5!Omj=QH| zsuqcgpb6Vw?mmkmTeffx=I6Ho$^9?_{nL%~b+IFEzbR;7E136qc zWt5h^FE&Ve;WdkLC4E9h-EWE zsru>93<_zXRQ1d8lXs*)BH;=vVxr8hh!=o({{Zo(x=#)4hn?onRj2t;U9haqI}0<< zg<(4O>F}tP6A+#0kR){!rlHK-hG^}f2aN5^idi6IrGcYb#v|{o82vT0E$T=0dxW}; zn`93oMs})2i8CVW@=Rfqo;?P-w2on}9IMNa@7kgr`0CmF!LNw5X3iy`jluCTQ*Dga znk8R}Jx`oCF**ktE!+qmd^Y(*t*7`gpTt-CD}E6Es-{by#YKx%7O(v!gwGECespv3 z3xj(8%sSi-y@#DcX4e_zDUfKx;H&?8tWx|=VoKoZ#-t(c9`+>%EHJ4Ar~ zeIcCW^eleF>n*}BP+5kC3;a0ocVJbZo`B*Wm#jML9@*)4zJy5jQN1K+-7Pe4+$}i> z;ix09!S;I<8p)UO48g4qp9JGw=j#bE#8T*o{! zkdzE+DzIp5wGkpuMfgq^Nud?4G5=m`Yii14UFOjb-(*$5Iv@2z#cGB2oTmP;XUZM; z!-&?sqH8`?p5D1+*xSzRZuQ>$XPG1*zSk|IgvP|zT#;*qnnDkkMeoO5sR58Kvo9L z6}Hbtq6RP?x59Ao?hoYHR`|W2AW8i7W55mlB zVX#o$2h}t@!6d1e_bA`yLCy}m6a0!DoVzbiaXYI5m04jKGSpjd(2#C}u9!RXj&st3 z3cWIi$>J1Z0or$IEvvaPpcYV3W<^c)wbdMP`mGc?Z&H|s)}ly{w6nk&Y~c~0*qN?S zQ;db0-c$SxYWgJjIrxgPCnc(P(p}uLl1q8fglhDCiMZVv0CiW=c{Yw@#W~xs0T9~p z>1F%)vi0>t(Jf(0W0N`c&lkckP(>oH9?7b} z;Zc4|p;94GnyIF+fV#x#1Y4$4NUK=54g1-uksSs50N46g!a2_k(0#!3>_si(bh5o8 z!;d>DT=v&-H8ie@p$d#`VNwC9;}4I!2|s}1xIbuF!nK9xO!L1qcE`F;`w`2=+KqX5 zBVARGgZh8#j6Jn%uz8TBU3#?VQvp^Npv;q+)PnO!h>jKLo3Q8zDA&TB97|Q2@=v}McN}xR zLPVv{(5SBRt;`Bk_iQ2i-@jn_z&96sta6XaxgM#>evZDroKkYeCw$h=N;LA_X`Eb8 z5cK-BFbzrRh8}50fgMO6a;{#canGpt#{1W&XClgcmfJh>CJ)uUH4o^ZNqlpW!_0cRJo53Rka z%CS^V#Dn(saCp^zL<=l2)Q)R?U1c#DP%M1O3qTPbeY9ftI}`tD$RaE$=JZ1>DMq8! zi<536tZi(HX$#&Qwi2TxT02fW2lnzBZ~_g+C6p}Xlip_02bKuGKo$9f*+U(%>12>> z3`o|TJx?Xsqy2_-6{(^*siRwq0~>kWjWwKTR6tMvfGE}{A+r!k?NLpJ`S86U-n~Lj zd}<=G0WDR(tuuvKYzeF!gl)$0*{s@T-S(JcUTuFp={m~MDq+(BfBfM`4q>K$7aD1- zPB~H6Uji=ih>R@p?}`{c13$`?-bV5d3I-sdFIStp5LB2|siJ)06y;yeniVtp*`cm3 zi2Z1cS6CAV$&~(#eU4)+;Vl7hJrYR}N_Nn)VeyWvmN*K@kkK58bY~s1(CA{z7t{qto)e*f$7O9ZPf#p-UnO+>Ig_4_$ zT!#_)`C~la<_HA9--eC8YGk`8#wQl+uJf@fu!*+HVP|DyG6EM2zvOi-pKuTR35oH( zQ^243!pYtKxsJzJu)j0h=cxAgI%C?(bo4G&bfXx0VNMuX(XdSDHZ^*|7FaU}P(Lxe zAC99zHj*Q6t~)43Sq#U_XEnY_d~4e{jiBO_T0n#O26}PfnWk6x0oys zh%Wj>g04WK<|7`m_Zg0MOCUhvXNC8JgVd%#;5o9bfMAf`X|PQI5Qu%`d=PXLj z(DF666sS$Dv;{??W*yF7#s7IeH!vYNh1idNkToYE`EvjNz>=+mD(-vfU#sO{3gEpZ z6a)KElw5O~#)J+Gb|HD&Nt1yiw)kKqhy$YYK9~Su+5Aye-{LQ>$*}qzsD^l$d#+ZV z*{zb6G$>JS&E7sGh$o%@V!zq@y5bo0H{AUI3-Q|8w@Y*aUBhzG;yrS)aAo`$nrnwf zRld_yUh>=Ah20FTQ()cdM32uJ-6g{htf6ds0_~#ObUvSgb!m7NdNtk;!h5@7Sd=zQ zgt-YJB}o8J z9E4vj`6GWdX9h;Z8q$`6NrAoC<`^j`BU+XlmAC}5w@E%nNTYGr2RlDL@NUjei>e^=mR1 zyF;;*h(BR_?G^pvW3d8HTA`t_aUXr|)UfR5d%**uQGohRbNCNS1WxqDOsoifjSJqD z0J5@#8b3AAOd;NHOP4lN8OX6t1zG0K$y3}cX}JXpw2N)8W;+bit8Z0$rBQ&YadE^C zOY}$D^_e0Nrt~jkYEs^v4bt+GW}Aseq#Z!w{lY$5vPZF&L0IkPEF@Vt1S4g)Kf=p-Z;3b5rWL&o4TO?4SX!0r_jy9a8w-R$Y?+p-H*a z?|HG^(q21-H~};c&yz3W&799fB75l#W%Gr$``b$yfbIMjw7wXg%UHylQ60^P2-ThA zMoUy@FXzq;d*s$AD@aB@f_VG(akCIRJZbD<8CGqF*9i$2UM=7;azQpb)T83f%8x?$E z1tOPKF_tR+7yRaV3+lwOmQ7OY>mWEFEGG^=97NTIGo@%?Y&bdqo-aWqCPeXha@?7VSTSt_&`OuHE>pt#f?>O4qN>+F)8*0!xQKN?}cwc~W+<=W3+7Y$9Vdg#G!hy`1hG;}F^}>)j@3U4CLT~?V&?D$p zvqgQYfk-{_t2;XK`U^FkX~eHSP*f0|j5Yxmm8@7|7*-e7L@$<@cm#(1v>!ahER&wj zk~-4q?Re5M$Vzaaf3LP=kKMPUE1AZ=kbw$Z2HEjWq0)AUWBoylKyw0GeN8jz?&4+n z;uMBRDs6zKC0^8kT8|!9fs<$_n1USlEoxQ%0W-N%x_6I^m}O`A%4pMY8MtjoGrsAG zD46z0jNDiW&=cu5zpmV zWB00!sCY-2v=#Bn1YW(yJA)rI%(w%RR8*Mipy9z7u7=g$2rV~CgZ6px#EibU{^@!V zCd^H+&08Ik`T|NldP;$MEAYLacehkiPZ@Z;N&nXVQIqVlm7rYM@Tjaf!hk3D@APHp+b5+G7sHZ>SJw`UN}3BGKj(G487#}37d}=hLsD5a z^)5I%o^_;XJ^xiJDI{m(Ql<$a%P~p9Ez0r5k!NdY=yv$}lO2oK8j}1?6i&iz&_L^D zO2@{!+E6f{JAmj+cWX7#=IkKMdbn3&-lP-0jI*Tnd-9%VUC^)VWo^fi*da55EMM$m z2U~6H1UMxk(6}}8^z86gkhmW`GOeQr5|7~sXyW_aIF&~KmW8E#s;%BSeT-Y^b;Vhm z?Hf`N7s0Vc4a6dx+LQXYp+Gia{m4=j-t<>A`KM{^J63pnc&_kQ)cK3j^RRTInZS?) zdA5pos0Cis@e%c^9`km;f?`$c=!lQ5;Ab86C8Ow`M_kVOxF?P_%{^H z;zN^yANV)sGYU)JDTEbhbU$Omo)A*Dw+OXjTPyz>c(}v8s^Y;%1?`^NK<)~R`zk|{ zrMP$za~G2OzN8+mX-;mmHmuZ@V2+J(8Ubj>ur<&q@LpTTL~U&_2z@&U{h|9lwa|;9 zTF2KGvmcb8!dDvf9xPv>sIuR9*5Nqf3ebWsS?k$(89j_jy^$p#l?v8G4J!z@=G_XO zE8|Ve1I`TST6nLdqph|!5C*SkxduZil0&Y=uZZ!W}#C3W#OK?4Ws7L&g>C36&M576kI!a;!34}UOBWOz; znSe;KrLR_P|EFWqKUbxf9VPLDI5tA_<`%4sQWqxH0E$OXaity!eG{o1jaBycL;XV` zG>FI|^o9!EpkL#D+W?|R&*Mrz@a(qa;b6R3Ym&tJ@F zxR{;GcztQwKk|;XRR|(`g*ydz3=4mS!3|^;rpd{I`Odj>VBq^x1DEZ}_ zwG-nD=QENE1=;c`6SU|xmI#Au0B&lRC!qHG6y7q+*$Yr(xm4U$2dkDv$MqS{vQCgwp`#8nyki9;I* zpisGUj^SZ{1u-C;$eDS6AV2Kce}!F$jgX45q+}kjp$Tk&H*vP=;zJxz+BQ93IyXg$ zGX>QmLlBN!+-z9t=Livv6QG&hr6w8lA;-?uq{R@XybA5NE%>+QJNM)itzw>rzq_+c z66iyR;qTwW3MIH7Q>o_fjZll|yiU{sBEs~aUXNBP6gDk&k#M706mYM{7MImo|!rm zucmWs?hk~#9kdbtin_xNRhT9v*UhKqPDkQ4B+OBX`+K$lwvyFD0Jq2UCG)ANCSlwD zfyK2@_SY`tUZnss!>$uie`0-yBo?>m;Q)>Rb}HSGZm8Nmy(9uEFam-`=@=Srs6AtG zr(tQ#sS!P)8zO~V5t@|Dft5$37@>Y!LZik}o^OU3L$X0~M*1`KR;EpMv|SuBCL|b6 zx=cq3zMI96DTDOa=mNT$m zxP_F_*Fkr@T%1llf6x$pA0CV27lw=ok%qZ0%Fi?)4`)P0>LxaJC)}jI6Fw>jT}|~1 zyU6;L&|e=h@k^ud3yi9YBCQ^Ok{*yX3(kO|lYe}HyGuAQr|+D;#0viqj-q?G9v{-A zmrF%IBD=xIRz)@q-3phgZ-tu(3lP8A&7*_}i5bTlBP%-4m=FsRL}VQqhi>JU{SMeX zOq-FAkzfxEeP2cg8WE^KwhWPd+-Nx_;Z0fZ?}V+LuOoGA3z@o2TAJpIn5c7idJdc` zzNA^+E|?IDNQ&X+3^GuQL4A&ZUR=S~HjCOCpIl&qk=DP*O;(*b`CjRl(8AT51Ha0^LmMLpLeJo!=9-q6e+B1ezL)<`3qqhlJIax61&#f=3z?&=*Dr%8@n|$n4@||y}zXSPpJahVTSmyjO+QGyTK7sid zq@e4Zl*2805H%N(vNQ0{|1Q5PKQPBTHW^3q7f7R|KRy7L2E)X%b0fR<5KJ5bdZR^C zsLbbXtWubziz@oCiL8*bl;jWus%vk45>}q4;LLakO4Z@iob-Sj3X>4f$Y}SVUM;ODR*c`{6lLT&n19s=Xs2Kq{@80ynVwQ zoxGcrMaVy)0C8~PwicZQqL%78maH&y0C@m8o3yaA0n)JUGVJF_Oc~nsO!?0OYkUdt zW&uq_D?@K2-vJ^zUFs0=UIl96XJS6$DZ{7efg(uuJ!vl zZ*puymM^>U&0%ucxU>Q2AMae-<4U4)GV9N3DnkbW5a&z0Qc`@emlYDwcSe z7z9H)Mh~qgSQ-|!55^aMi6?-z#_qEu4_secBU;e-Bw8Cso&}!s zZoA1hb`2LFJX2N1JAG~Gy~>Uw&ugu1N?ZJqm86-ebf&)UFIMp7>q)u9PN`e}W&>uY za=_ix@-f>5VTwNI)czwjr4Q_iOqu^#ZMD~?BJ_Il6{28rKbXV=YCWdGjm zQTgyTY1^81U6o4yWs~io{n+^vzBeT*q!||Cg+cY3h3$=RS_9fA`Y|u}d7%7U$AY$i zc3Yw8y=QaDYe`z5H`m+~RC*&tl@YP*r_*5*&r&C>#tYBr3LIydtz&8cZ5Jzwt|un| zZ30k9@j|Gp86@!<6w~`C{E!s+GpWl%cpo20qRK_ZCT2Q@V=g&p4ZKJzRSM7YN{_*g zv(#p2@Fx^Zr-frLpTDzx)AGtijc1?n*^ zu-xpab$!``P@uA#XJ_qH+Sb2m4V8ZaV~++k2b@82l{lFbc$; zOMqWJ&vH*y%m1&|l8?XeN{^AKfLB&eAUg8$O>{D1;B5t-5>R~BFu&G0@Ics4 z=9k zL}9LpEN^HxaBxUu02|SPI_yBb=J%5g^MNgZq!E6tOI%2&=08Pu^BmUmZ;yJr=K$b16)*I5t9vzK>F4SdnT=q+P zdq*-!H2FH$G9BjyGi{;P|3wa&jTrP|xp&xxQzIKO39t8STqwpG{uU}KkC2;N%np~N3A}H(+koxTCz}2-mq9dG_gu$mvB5@$~6X2N7U>xFb_C&{8 zaS;=FV7{n z6y7t*>1eC2)dvb0uwlM;9&bo!;6D_4i$Ck*L>IzS$IV;QWTjc5K}1C@goGLld2?0g zK^AT09TfCk_gxNf-@y98z)ZWaDx05^4LODO@H2b->0+Io?@$Q5e%C%}0*u=*K{~J7ARc%`yxkk|RdA@?nnSgvIY3xImcU8Gx(p!}N}a zMVq1F8>WUg!s066lf~jHWkDO{B07g<2E)t1Nv&c(V4+*j)$|;|@XW#kBH`$o9B3`b zamo^kN7KMfT?``Hik8AG)&Ni%u(k!q3)ZN&0gBiCvgdW^=RnqVTk4Q8mBWWfQUlAv zAVRwUU^_no2lPEjTexF)h2An~(w+AJ)MsFfTSsYfDmv*_oMXt$GJADbdK-So;kHg| z%ILY2Uf5!ndk0k1mu5BtyW-Z*o67swaQ_o!QBTgiEnGXP(?X9f0{UD7CS7~t;4=uT zmOTj{h<4s3%TH(BnU~Yoj_O`pGvGOsX5t)kIQ&T1r000F0u<8srRb1ql?y!6qp?-q z6$(uilP9%r3&q=_0dL#8GtOX6GCzsH4ZSN|OM-yiI#bE1Dgt=Sh5lou4;Zo|qr1b- zI6$cXo1UFXcy7@hA)W-T_D2Wk$JIJ|^W$(#*{=7TkIT-d7jjVGEE7~bh!hss?)riC z)6WP)&-FRXETQBT(;-M=qTDCkMuaEM-lXLL*{(eo(^)Ona4@;Ev(=mUtb0Kwa*scM zgr^Kd3k6GPleX>NvVN>WcI&mJ$5&O1&FU2@)30Z*+ zl%tjc( z+I>SPSWcU?myC$|m1F?2{exJ_q+u1SiI@BR*}EWH;3ZS|t1KNCzRarnLg2BV0x7ON z7u?fZEJ1vlvDN@lZ27-4S4sj}=FAfysDpH4}%93H1nRJ<;yzvDAsq@@N?2 zx*xbHsaz+7&8{#Egt8fl4KrAAOSd@~_G~3lJi9NLNpaKxT=@(%Av}uJ6MCgzz!d!m zCZEZy+c%E0#t0;36_i@~!r3Y=ucPh!&=P`!fqsQKY-#rzaJNFPOsz@n z*e}j&KZs^A7#&jE$(pr7z2@hn*1Qci=fS)|H{q|q#%+`3c|%+D9YnW~Cwl>L2bcw)$FF{#(GZb+ zL)$tb8YR`(2>YvY(!+Usq4?RS+V|Q|}Qlx6n#m#R}IBC2v+P%O#0b;om z*OoRqC24YtZrxZr0w=>d24$jCC&c05!OMO@Y@f*fKv!9E4`n^`n>AK%B^`2$+B2eX zn1j(Hm=p`nCBP?;r7@(sMPGFVH2#y=%2jw2Cem0|+!gQG!1@W8Mxd@Qj#}+ac4|tR z!3~AUNN6(SQb?@1OK{Q`m^1pDnXjLd8)p0o0m?O{vQD`L0cS82F;?TekO-sIQ)z6q zxZ;p*uTblDS}~FX>zDx@yGL(>Nt`M|FD1{Rab1)^L|`9!3d)MzOSOC05@JL(Te$5f ztG(2@0@(mFHF-L1jM5WA@i;XGk9MjT39mW{Rw5Sx7GAh2LW~xpR6AwLi|3^0{dN83 zVH0nqdw*Ygj}&$yCTUkFJs;>hKMbX?>zXvJG9pi3gyw$M$q@?FDc00?RlIjhXv zYz#lUK<$0>JPW>E3k3rvs^$4NGs#`IR8k3sdX)v?5|5rU?xij8&fj!svQ9Z>!LNwM zWoQxU95~QIB&Dxp4c1TM?vmyTdIp#&5dv@01*f4xs=Tn=8mXQm{ft`m>YvZfUjzrF zQ4x{{%h!Ow?5c+tL^-VSiqamsgvz$f4TK-8$8h*D&7$EX{;XaiwK7@wtBciMLhLCW%X7=<$6PTh;+N*%8C@7F84{6+^yXu+W=16^ka$~A_Pp4Tp*@h4&&SaFKET?Y z(UcfTpNM>f?kK{+Onc~&>X|M~)jK~;IRUqr4C;_4i81y&bik;HyPFp+k%-7n@X>d0 zXK{l10;xgG*}=E+e?d)BWLPtSQ){efybif(X$D>5&-Tl8L{>u+4F>cavfy|)Sqy1 znU&i&0#2Q8X%1Zy0AxCYut;*~rF^|Vf^D;W;l$6<#d%AQlcFV^BJ$zDeImGzXCC@6 zgZ>s318j6s^|$7Gb695#7-D+oEIwAJ;}bEsut3YiGL%uza1P`&{9406`JG`a55*bK z`6rslh2feWf;w8Fxk6~CiJu44InXbv7;?wrr5_lQHd7VNe26O>D;#&w1;MC3?;`8C z?sQ`VK@C@y@6Kvj4HeJ}&*9+hU9Sl{EIUZ)-Cz9fxM|>R&aYJyVdD`Gi~1mg zd;t+qin|Nlb+%yO^yleV5Ot9{h$>~MZdqGsi5Rr-YoM1=AqyBW%PLwq0$9X)YWur$ z#&@aHJo}L+v7b>(Uc`I|T9DGt53j3~`Hq;uJV1gLaRrzS`eijw`;bn5rPk^B;p3cC zTcvJ8ThPnw8O5oG!8MObrb6bgmWxXU2vE@%XRT+YoLAqL&$A_yobx9ur5&(NUKKL$ z@H%$^i^k9^9qoAS250&&?#tC2&6`Td)-WuB$X5gFqCp5#_-b0ijB3E9uPhCrOOCOf zLfS)n-t7gQ8*fA`_pi)Iikq~#StNeh1$U0;aP^%lc)*oqbr-aJp9^=Y(^<5vFR@EI zc<9(9>^sqH)RVnL>djjbSSw*Yzs{|9mUW1Ny=)NVub=?9xcX5GZRJTs{LHFTEia z6R$NHkqb`l0H0oW0R-S4$sO^JS2Lflv6}BZU^ZWn!IeFP>2z|pz;r}5@f_wHxjqwn z{6AC0S~a{dL=1KL@&3b)LH!7*Y{8NEr8Zfkl#3FsNbV5WT!C}mSh5SoI2^muLP430b$u@^rhq2}#SKBD%~i+}~Z0 zvFc6>IL9|-bDyiMwLWI8zdxk5)@%y&j3sHBzPTjz*Jb-!ZX_r4FOLC_vwQr~i#ekU zFG@HfvVEYVD7NK$7=~#Ma?GIOGk=@+T#!XZelT3hGAO?;}E~%YvWtVay#NMb-gsFmO6)4C@+sVi}uD~gr>MnRdle>gW09t(P-E82@Ya~Th zvRuK~-1P|3GK2kj(gEop9ooi(<11yyMws_bUPy+Y`8d*()q0NE?pZ252OuGU89A)v z{oCuDA6u$y(WipZU|Q~Kd|fGyF0sD0PXw>`qdshk zS|e7ze>Hw9gn|nv#*MF5d&X*a2m7PA^*hj~Ri(>A{7dn4$)0O_L~sV3_9zynCpNIY z-*3NKMo1@fW(ZP=7vk?yBw1{kbGW9vAa>P*7O;9{qXt^@Rfk@>!M-gh5OBJU+&+{d zm8`hNxgi%dD%zkiRZSh#P#R!k@kpkp=2lC+IlbR8$n}hWS0ygU(_}3 zcdKh9lvfRroEi=!d3TW4mJ0GDX4kj}9GnbGmI60Xo+D~*g0RrW{wZ!oOQ4p^E@i>q zQ0B-^) zEV+6O32ry*Oxfw`^|r-e$uI$eC2Jh*P|4xgy^@&L;LWlS`?Ypcau|q6h|s)W;sORs zV^y5 z&1v`hs+9Y_-aoryhOSG;+|M^}dh*S?LC%xK13&+#{SU^<*K;pjwY{B|nUHw8X=pR5f{VS0=VQCP%Ohnx#^4|n!+ zdZ|9$edd*cP95cA$S5;sdw(UQl1ll^nrNNz*6y0-#fu+Y8+E!M$Y_$pOD*=`wnAW8 z!>4r5#hD71+5gcvI=d;$(OA-*C&lNcqNVt4+ANcsq2gr<_RQ^}wK=|m@IMZ3y_*vy z$Qo66DYC7obAn+h$_xOtVX*>ycaB4cx1PHkAqm?Q%Dw}q_;-$5UDIZ>whWM8jwi?c zwDj$nOfWyEpMBfNt;g%00ch7x`|Y11O)Pr@fSd`-&{xxRT1qD4C?1iCJ_jaWEhHE@ z7tH%wXx$OAijs2}DkMp^Mtp@$`Uus3(f#?`Qw5J-U#!{8u*e^CDLDW1(Hxe=0O93$ z1e)%2=5#dOca5#8>5Q5o75ht_;5yRo^-xb)=}vsOv62#H%!X?c%({ zQG&G52rq@7m2yt-=9e&%24|l0B+38eXc6Cta5cl?l^Z+Z(YCF+$)n6DLGpOWj&ljU z$~zEc)X??b@4tn09h`nG3!oFtixREp4Xo?fmJ4&abSiYY1fTK7g)K|CsS&T8$DwJ&-;#Yci?c(*qClZ^9{zsHp zSCgnoi?{IW(~VMyEER{c7neVWx-K~j6z`0UoZrs-`p~KY`PZx^SpwX5?hA)AE!o4P zpeB!g^YT}7>9v2SN_DEo24bm47LJxpH_EAVJs4V6P`E9lzqnTGx(0UFucz({z{18-v1^k>9emb z7rZDrcloEDX30eT-~~ar<4~Ia*Ox~l&I_WNB#~bdB6TREM>GMKv5S}a??}oI|NUI! z_m$h-e))0{i0NU9B@{PddmDl0Tpqo40C*4#cw7)ao3~sZF9>}#z)q;# z<~kbM-a8R9R1!Q{)4Eg21K!?#+xSMsTYSyuUzMN#FIu#5A&Th^ZLn?HzK|*xS64|G zu;?egJ|vGCvY<>q%+ky=nyoN_&v!Fl&-C{s_C0N_N%jkt4PKRNH-<+Y*?KNvxj+(9 z)f3zoo{*o=3o-c9jr#X%RC{hsb7s(`&)|GIJ-Gq;8`GLk=8;a;i~aVs)2qx9@lnw* znsZF8%tYeInx03RtuTg}>J{8n#i1dZWs|#K{xGTQg^Y4IwDS)gpVEVRixoCWg|YLK zSpf?RYyA%;Mp3|w@tLkX+eGY!ldcs5e2qKf=)r(QKRSM;MK3s}o5~U@ze7 z?3gl-421YBlz%C0oAqt8%zSYLvsfvE){$({gV-qbtnG6MM+1iFlg@H_3zEkT70%jnO`w&F))th{yG)nx2rbQ54Kh zsN3c`JiDhW!m`JsujE>Oa&N4Ka;&ayxE|*8(rOf{HTB%HMdOJrAUTaMt5QLBhB*>f z-|i7d-$TUTJGHATWP&?mE=A|1#sTe>V_H1{eG~EdH+lispwV<6;8&$0XvN3w`~Hxe zJJ2Ls5zDFztOiV4+Srf9=XY5IOjd+`+jFdM+9E*t~tcR?+L3e*62W36a-ulY(Xg=e@Yg&z9E~nn*e(ypt2wYeh{O zkN*Vb!+HDg25Gd_B8}5FZtKraKEbw4If{H{w+&~9_!1@0T5J9NLLQtP>?asHo8vAw zS|=q0Pzq`t5AmWVN1>PH#1Tz+EUeQaN^j!~b1u6U1n`2UUxF_{F7-zVck00MpS95c||;W=)RgDJSK|IdWIAM{}aT6Oq(R zh>w=AEQfv#`uYZ?V}i_eqWXrL7u4>9-9<4OKL*?%3W9tEqnvB5Mu7r?S!T(rKl*5R zdi2x5IX!!l?6QV-x$Eap6@5KnMBq7gdoV%8v(*pZJ$Z|^RsQP_(xZU%Ud;5{y)cyF zm=Gc&#dcf2UA%tm$ruTCoW8m8a8KIv?YET|Dd15$8V{vXCEi5+XQFP0Lhh{vkL3HR zy=R4m41E#u^^H^$=Z=!7p^RW6{2A(qE04s&rAXSCNm3d8bym7RALMQ&g9-b+prm&j z-itV`+NW!wqu^1=yIR84KuL(?e-YoS1k?xNB!kD#4pl6rCzE|yA)$ljmhsINBRMpD zY4r1x9VMq4dMC~g-3^|6>a%>jvDX z!HgO$osgYFzn;2$XvYF&z``eE^&9NAE`E`^odph{FUvDy)GXWRp1n@I?F*`YkbywU zhB?#SNc2t{|Gg>H48m3Y5x6G(%sBtN?mHPjYofOIQ~7ObMrBJ+La#xioQ$n+MY-kE zs$a{fR-v5lb&i*=z~{x!t{Q{?80dY>q7H?Bb#IQsQ#eOy2tIvTmzknI?)UEc z{D&gdt&J2ulqgsOZw!y2@!d-YZ#wex9x|$8y7tM8zyIaAU&m*K9v+{u zalAb;AwlO|diM<3;)op!QUj7I2U<78Y>VG1z4F2tw5Z(hzF2j(J)C!Cv(I6m;JOpa zexfyBSj=zh{kQQ7Rsh_7bozr525&@w>Dz=~|K!QQ1notD;`bK=+Et-_qd1}NxE*|H zREIhc3~I3kwAg)mm%F;{9sM0fn0@6n`ZBZhlGm>^jhriShoYVg;HqAihL{}J<>8fB_YVW0SHQGBZBY8cd=rv+ZiZo@lIf8@SBXS@cx8+nJ6T93U{ z$lwgcH}pIS(5jMrcBk`H&5MDy4Yk|m?UW|Mm%D1AckZ9v!wFB*-z?;b?Ps+r?sZ*{ zR0a%fi@0pn4gazVec5{|x-&a?;{~6cF&o~(T@EsMzAfH!Q4_nO-PGLmd2R^|waKLK zA-#Hp=PxKBeRF7)yzOM-$u}_}DpzgwbtAx;fuzTLx_8EA?1En3ulov~it1 zHe{h3DoTNTl!G(22b-%5q&XPKKcfm@nNLf>fUzbj{U^2$&EM-G^44h=W2$)l4*Y|k#jjgwpjETXTp0KUJR@S$Ta@8`8KXv^| zs}j@OHE*Do?@vRA_qy&ond;b9vXNRvxGEC`)OAOXFTV1eY*}?^fj>DmhS4;zB5$SX z+sr%NVLK2#V&};&=W1v|-d18h=SGlUL08UIr$PZ^npd{36 zWu9pfA0&0wFC=j=lE6<(3J~yV_)8QX&` zRBKk6I2^SIyG)dwM379kp5zceqT_{Ki$hAD*>@EdFoI1-vRU@+tR6jf!o;?>PXcCF zSuZdSn0OSk`m)v1aaQkiWS-43l1}dALLz5kv+v^7*BslWO>PN1$$^ChL&vK3Q5D;| zx~7-hn-Jd0FkC+O5=D2!K~&g6&DA+Zt)%#h{V!kJDfNF*2P1j&GAGs6{~P*-??6K} z)-;2%StOj*G=Cf#v2wkzEj(K5T0|jpTWEW70p6e0Y*y{2*+Mt{`t;2pR$KIRAL%F~IEEzj$^p4W5p=bNNULAmlNktPXJ)T-9) z&wQCa(|JVUQfmHud#m3er#`>3VS9dX<+;i;USt3I0AY&(ke}$UiWUBTwX}a~n8xg- z)GE5 ztK8dy65E)Sre0V0zdPB6)`dhZh;S8VoW{tc#hvEax=TA3AkyJmU@a|DmkujecDFny z`$%KjT39z>*XN2_3I0c%MOgK%x-I~!^SQ(#;JHHvX6BZ) z-@{x-W+}^n$X`}{Jzx~Y`2_z-${tgMEApLN^s;nbx%+MFQDG&W>boR}jS za0SAhw?-ZJSrVx6eaDA%@jDhEy?HE1kGy7Cw~+2) zmBjw!`3A|ac){wzp^mpM#dSL!3K0FWIMe$yi8@Yh%3ubvr{cL|D9wei>gWGopL7Hw z8$Qu=)9TUdEe!Q|Y`UCV`Pqs(1NZBtcv@PMMrm)}SO8)DlLh8X#8iaUmP6|&=Ax&D zxC?G7^NaF_+WOeZQ+*3I3h6HYyj$Wv=Ycf4r+;W2C1?!D(PmdKxu}bMmeL%RZ;Ffy zp!$10P}W-PoYdVssWliHw-hwLG>DH{(pT-3}&IX;WJj*?+ zR@!6wY9ey+Fh>Cn8U?@snIiK@k4@4kkAc7b)8JSkLDB&-8*bL@$cTtsM_-s;j8auDFh64(L-&ejPJb6I_};NO&WPu0`hEU4bVR@P#+n8Gyf$8rs68bN)*6~T&RJ!D0(qFFI4H`lm`Uq3FvZXQtw)}r+|Fb2bddsw1sh%CyoF75syuV%ES-BFvTS;$QFX#AD6NiYnPqx zV%rS~rxAf%T#0#QXZaetEKakf1qw{O(6V^=S4XY)FR^)d3xlM<@q}(<5MWmBi#rz2HHg%|$i;Jr0}!L7-eoA?L4HwY0QOBQ#B- zG+}&Is|G))akIV=)m1z-&X=S1AEh#qa_MNrt3GZ&+s&Hrua*B)AwZc*-&J|U!56c- zw7k>*4$Z6Q8GtY6kTo?S5%(}QcjYUehb&VKH<2ih4`$v1>3p1u$v?Ebf5a5g29?)mGyv$O!1x@hZ?M5pMsSFYk1}LR*jOK>e+P2%P0q4@qm+e z3qQ~G4vQ&M`R~KALunJiP8D@>ZtYd;cCK9gGhOQ+cSW8cfkD}! z<^7G~l{L{o>Ymf8W-DZ;Yk##EFpi|@Hmy)*HdN9Aq@S<#pAR;ds3xX6?+5q%V3Gz4 zq#63*u1-Jy_w^MOpCy==5jVf$?Pd7YuZp-WcX%r2qx}&lX+&Y0F+#v0Nkj_0S{Sw~ z7a#xH6M)sH2pNi(5t99RFZU)ZebZk&zr6WEo!F zRo3!Rf$R9pHX;ja`XgLI$vy1f7n)c@p?)IN#e}8>J%opR!0C|>E$vOgsd7-aw1h%d)hfQ>;L0a{ZUZ*dYrO9(s{_wiIEf2c{=Udc zKlC6&7(IV{THhuv`tR$Auw&`V!npumqc%P!-)?zhAs7Cv1F|yfnI3dO!0NRtkMpag zZje}0O8?I{6|!3Jo1c&2(tkbhi?VE*_m%EjZ_|c1?_M^0%Nr_w(E*Zyhhd7%KwkpX zC5HVWW<~z>h9fy;P_jyE^{bh#y7TAC7cAm*`}VpLk+F|c2(u{jI|MNwe?;fIuUIVw zSx?dDEo#l;X8(H4!x?#H{W!p=^XGd(3-ovWgbhro&K-IdxBJ{swa+ zpr;>uPT&@Q$@`c+RDZ`2JqQw}rBDnUuv&QK$Fd(RhH<4&v=+W<$stHKJ-q>0gjE(} z&#y(GKM97;ex52ys&?t$b9UwNH@B9AEN&81=r}OH10MO&1-$mtydVg9ce6{-wJ!C< z6sl`!O0d+bJ5m37c`fLnyICr^eE8vCVb~F5gw@8`wZlOnsEpwW~AW8^$3KI9gS9iTvN?9E~v{PnG#Ou-2$MqJTjZ1=)=FRZiXr|@>5ehr;8>DYpnY8WaW3xd4|AWv|C0&s0t{O9!_^bo}aBp zHvjeJW_^gpM6!ngtB)}V*sL(^7gtU}8 zz!^a?rgI~NYC4+i zq`2Rv0PilFhgN!SpDZ#KKk4{n*c%P?}2xBG<(i`ppV|G$%?tibm1*A#A${vMjl{W$iYW>E*&$svo z^A?Dg4|4+d;2zHvfqy_Mn8zZ+Tk~${Y@S|sf5irGIL6atS+T0`q3T?W2BN{!)8Sb2 zeR0ZSsQlV4x%mi(5N#*{2K})t@QUsq-mQ?!Pi5tbMuU1`O*}+_a!6V0FmoQ!>M~gj zwO=>+Nzj`Ato6jNYEXg(U1LX(SyS}Q2UfV2@m(#|OrL@&DDo{&g~A3JWQFSbB#@)` zz}Y)*{jbj*!a>C2Suf`F1X(>20!^=bw(`|}7Q;SBBEadSjk|{iRRFozFmnJ_^}!@M zf8o~#Jhlm0a1*rRlRUqiUjH# z;eN$8yj?f^ddYtfMzkhq|CyOeCaAx0fr7i~bstu)Ox~+4sJ~c!P^|4B3GUx(E!2wAizbYdng%=8xYjp!*qSN?eYm&&r=xsBa0XdTdZLTkL_YZGF- zD%8Hil90gh+^<*6bww;5@pY0l3VFMy$o@rKkQC(&CM)hHXAhv~QK*}3m`(TZ6ORiT zf?It^ZfD8-Pv`SFwso1>SQ%>04NXNmsb}>~r?XR)&#$=4tG39EaZ;Qw;fe5xorCdQ zm_Bw;3u>?F%)9W4NR)MAIfnr^=lh7P*|X=?+owPafg1x>AR2tN_9}kt3i%&SlPmp} zIR-U$v_nP#7gZ)}g^A`)Y1fgoXGLW%vPcMJGJXl}1p~3C2pUy?ig9pdN1$lK3Ffgp<9C^(*A5b(+Y=BlJBH>`-% zhMkCVWk;0pb1g)`FBwJfo^cZe%#yE$h|xRDGm;-yOCGD42>i&u{t3coPxFWivJ4my z&M=ETH4rhCN>_io8)*M&2o1Cf%$wlN5t;n6#wi2iTQSvin24Yq&}A`i&x}0^>&?Yv zpJAAnIhzC0jtxNzq$SQT7ehRDGAB7 z#*j||I_^l9D{xaVRZDkjkUAyakIp3G9$R{~DAJH4;glZW$de)PZ7jZ;@1Iz(=1G`m zH6MkmzZ!%1pSH!XTnDkq!`1UL(pTQH?xr+&ehq9iu+J{Bz743_@~xArmR4izc!(qX z2U1Z61o|{&(kky=fmGhAe`%4Ogou;|ordxVT{IE#C)1}>=?H$FsXiHLbR;gQZ?I_} za5Z>>T%&D%U_i>3XMpjq2>kh{;K*fsa$QAa{j{1o$RYG+>7V*_+Aoz({cg>O0g1-v}ef!+BPjWJ1 za!Qi>jgSbff+gy#Y$J(+tNJb;P@9m*vpQguKl*n>k)px|9L_JlFoJ^0Q*q&v|C8>2 z|2tptO(r&IL=Y+T``6F0sA22M@WtgodFB7}e;2Hf#{Wrag)shaFRc{D|80$x()d5E zu|gXEw>4G>!cl0a z$1=qW^Z=U5>sl(%dyo(PMLSHWeQ5R`B?T0-(T_y?`I+E;KvfwL9N@x6}m z+T)17wNLnB4n{-(eGa|kh$1vOzrn_e-3UO@jo$e5=lP--Vvr?#N_v0kL>|gl@hgh3 ziSIL+gJ~<_tTnGFnQ25i453bO3B~q1k;kpeNh1Zq`a{qx>NArJ{PSCRc5ehxj2*XJ ziOz4a>0)o(5kDcWz0rN!hQOR&V~5e$aflk`s^$UvDLdKWoI`u%HsOZiz7>Z)*|t$k zpN1rgK)U#pJMRa-&;RjMR}bEzDZ9p%t?ACFxy|UG zD*0*^&J6S|+qa4@H{WDwcQ*Hjn-ul^Y7=P+E25Lp-4omO#VR~d!lL&}59uj9VU!i^ zUAFHp?`6rV{$sG}w7ienoAbVwK5rA#CA5e@&hw?6;OuK=MLb;}(|T^FDt%v`m-nvkN0rIh zniFZ$;5WZ=qf{thy>o`sOmIXdsXgA3?WVE$iV_r%0!f^ z57qK*f5tPWW&wmhNC1>Q(MDo>OiQ|Bq{@BT;C}%f-;Wksza>?V1g1zsmSSY4(I>Pz z6_s^eM1LQJMq)f+n3KgR z*}J#|l7doRCvjXdiKXyOwLk2B+nl=J1K(D9Kt}IBRqOd~phi_sTqS?i$$MR#o?j*q zwwM!Iw$CS{b3DnU(&+i?PFG7=_G#sAWpX3Nl-<>BqL`Sgu2T1pe-QfAw^ zDQE?+@qlvQlUL-6VJu0FVD%S_6W!WX| zN*OHCJjz&ArpZJR#F~pZmS#*9Jc?fJCCL|7^NvA0UzXS!h|7O1f_vcBRg++N^f2T5 zedq7FZ@W79K3`cfIag%#eqz!-;~I7F`^<%S6D?_?5hXFtK84&EqQV{4XBLd*obbs= zTkuUA`&_x;4|#7mLyg%J_@nH_;Qp+MejPX9+`BeP>tw%W1a$-m;%b)qaMVqFxzV_# zm?LGRhMF4Yk_GG2t6~MLo*UsJd6$pHQBrzEe@<6As|dF&w8NCdWt$z>9_a>0K8qQa zIC``AUW*|MYB(EDEltTU9dAVntP0wYBtc$wXK(4DMy1gMy~m2L8Mn)I7JVGqDfX-{ zslvVT>^WuqbCh~k07-*ji$Cfe+eNs_5KYq^b?7AAluQuVQ5KMkja5iK%TjqnhhDTf z^@&P)@GGBIL+Lp-{4Jf`8UQE$ij{?9b;V^l3eKo2@3n>E51A|SSr(TnL)Mw8jZ(jl zCEyl1Y%v`dS(nf%K3weM@zluDwjquDv5exl*4hx_BCs)yl@(94E~;^V;G`yIXg-MW z_`Z3w7DzGGT2$OQDsD+VvV>_$U-(YbRL(C0ZLe=LQ#sdHb{(xtt?seoA9ZkX&TG$8 ze)F;`olN&VyG$%%yb@CS>{F4%)L`G3qq4XYqT~4&hLG6Tx8&G`476Z>!tXGZ&#W@v$_y+rimCD5Eki8r~)e9K? zDZnho>*tUd)58szzTLf%c-#}oP9x#wA;?Bjh)6Eb7r^==AfQM>DzC??+5I%6!yn14 zTS)$VvHoc|jQXVgBN*zhGVlQUY>#R}l1bJJqo&KTGg8c> z0@K=wkY?@nM9>;!2H2ptKostLjzH9rqoa58j>06UhPzo7-u9ylHsOugy^6gWGdg2% zq!?bYz#Bd}nM}AL=_g<%)7iVJ_-0<}bo-J$J^>R0=jlbp==0pCFB@3nq>h4M+Tj!| znpy2b=MyZ!IfddL3G z@=}F@+hHG<y_}9B-dx-sdTfkC{p1U0+K5fmkRforxB0%{89OB^MzzZfwXBI+@Z@E z)9v)3wXQ$q;RuC=G^)B(d@l~vApgaht|xVD<>O>A6N+peQh&VMbnVg7RmmS=>!Z2D z=k>Qw7RF&*`i#hJmZKM>N9l5`6G=2p_eQ(dz4&v8fcVVPs|rxmjJTje9h}zE(n9DG zwW!{T%ub{jtqXfvz+RKa!>h`s#0ic3 zp`oNrQIg2Q@Gl%!Z3H{)zNxx6?S9{6tlts*Tnb)A^3^Po)Ch(=egEIXU(VdyZn1iM z)}tJoQzJWld=##P8(b~>gS|Tl7^vF&sF-Gi*_fA+q9G%F>IqgmONkYGHx@g}rA`C6 ztMgnXo?FSH2me$IP_W3D_K|wryBS7CIE-UezGqpMxyeajopRj9?O={vlFRJ{OL7M# zau1H&hM~yw6(0;us$94-|3C{yaJtO!A5X0v5<>7H!aWr@K_#p%zWUps{*}>$YO`{G=m-V>Mb(S#Cs^w!N|JC_g8Jav)!7 zLS%3)YH*>`?dypikuUOD!pmx;ThD2G+7<5^1POxu(~&U-C?7I-lLw5?!SM0!-LJ}1 z`5zYI8E0go;&FSjKi4<`Cng`13gX&RThv{*G6!qOE|IRG0;V|gQeLL548wce4w;$jNq`RE`n zDi2YE*}uQT+3hb6Bgz{NzY=1Z<|OWVAxb#2bN@4SljBE>N=?)4d`?#)4MJ=Oswa#? zO++e)Xb45;?3uj+y&UP6=@flq;t@vrv=3hOiB||xcbY!!p z~(ZkM}-aFNVpsR z38q7Zp89ou0UGpXdkEQY(^YHa6BEvOXOwx%{`oEgt2-J*>m~z1GyL4p30Nwr(aNwp zX2JI4CX4!ES`^7opjjx0VRLY-CiPaIB2>QMT1QB`CacQ23fKxD$8_)C(;b}h6viV3 zrrggCObGf^Q4wZ3PvCtzs@h+W{_)cPjw4Tsx=soAFHySn2#TuL9A0$$kgbSFhUjR; z&|}u>?Otah$^)L9wQ4<&?Q7gqq@DeFpeQYKVbsgzyvPRpv>N^@l7*iFXc~?ABSl$e zFuAF_WjnSR#|fTDpPsbnRmF3X@3+pS&N~!(^#_39%*`zviiRH!DF$_>JxdlnK3c55 zNS(&#En(R11*Mj8eWhkg!5@{LZ0uqJXq$-iTp{Xmc=mKJQXd&7wF!IRN;688ZNwDj zGqEW%dPp4|Nf?miJX-gA!_YS2Gqu`rr0GQFP_H;QcUjrnI8!p>xVau}J~s#R5pdS! z$C*Dgm_5Wl`97$QqV_!oJ*FkuVHSoXMa1ps5Ip9RQ3MogYLkQW#vY zt&C=;q_;0Z4NltM2kzYHlI!f&lU;(O?hR|g0q95$8o!QkQN#-1Zf&|8{ow;iWv6Q} z$=peiZ7Su}aY6PeV#WslQnLB2E$YuyO0GqxZ=6W-+PRcdKfM-J+5%cUP~McB*89g{cSNq)IX?(h)QliU2oW-e$qzGYHe0(zP* zOpe(fT)o3yHK0Ap`lRHKc1-^^OfY(CJSKnykuW6T7&tb4x?=JRvn>>OAdeu-3!FHQ zI^r{gow9flhVNk1U)1<*;?uV-BZ-chh2<&^NED=Q$h?joI>GqX%Jdq&@UHiS^D~#W zcODO>+TSw$@yQ!(Uv8`dVdgIjvyUfCQa8d&%&dwvc#t+;My=Tmd|QL!7gau+Zug_` zKTLtL|LHFJw@30q`Q-x-J!wx(V+DGv&Lh@CS#k{5m$}pNlP!H7IBKVc=eh`03*+wY zaBA)LtScj^NMRlbn1drtMEx$zx=u=puL>1bG?N)^F@;nH16`3EuRhv#zSB7m%{3X{ zX>P!p8TPGLC2$B)PkgF-=<3tY+KxcgB%O$mld=-t({xHxCDhU1gB#u?t{cf1OOWoC zt#kM7Q>H?S^*JW2*~EJGFOgU-TXc5o>RSVvb7vAxmy8yUaT$v?NHz_sUT{^W&)IaZ zO^$tNi4M_bQNIPG4P{;-U$krqDH@!={yq5F?U!-uJJ~V(VU6z@(Sf_If7a=U3w-DU zgKK&&Z)>k*oN>yZZb8HT_;(&C28D1$sb9W+)sR2le^F|1VX7jOl9=G!X0F^L1!g9p zS4JooH+B=1HVz#RCkpHmu1xr z=h{nuZkF?o-8}9%gyc*$K@`z8zr{uUiOe7v>~5)9T9|M@cGc3VbGYz$qrjSx%2Ol} zT!fVXJ-GR%=z<2zjJ9%6&)>8&ZUVdegjo_73suxyG*S6^Im{~ z6gfSlsWtUCzfno8PeyoFd6o(=36VLrjT35cPv1lYuDrvWzLWZ zzMr6*=K=L3a%O06t!pO{Vyd zz16Qf$X@j;HLntFI3-^33ED){VPnPFFs*Ke*=|2%{Ikv@{=SWdwn9`Q?snvlODq*q zwYF$eO9L{Smo^Y3FKHuFTf0}G(tJA>^6F(|d~H#x$X|ct5vh2Riq@+T7MuvbijmAH zrBie}z0c}&hCnwb)o-r=--qu-Ax*jl*U3-ggU@dx4;$YbM>>uJkLJ_%DSWaExucqY zdXQgtzBiXLiZ0dcyj?MmON?d3_(*lg2pM0ZhovLc0Su@0OYjK#OQDb2L+&0kb=~XF zEvdb_^BXkDH14ro)x{{lhs@{hugTxmh8m45V+0;?PRoV)rC~^q9(3uQ&Ern%?7sJG zFkc>c&ZnSL*lmHZ8YeaIkj^QzQqjbRJebf_0F9DEif}5M-0gQ0TaUc_T6E0(7k9%| zTd|!donvqsjLDGpbREeFHZtgRfw$?~7A-(grxeS{wx=hrxhuIV4N)%Febjn!{*kM0 zcqcbS4<(jW(aJwQ6vKOl*=mUCf~0L`Vg`;xB_3JD7}$TDG3s@s=U~t8ZG{IHQQXY9 z07#8m9tFBfPnZc8jd$F2qOR-g_!;>>$%F@kcg(+N&>0~<=jrna=|5k2F3!>8+&9%m zKcIMNaw0i(SarHx5QAs=KB$|kImkU@*;}8}OM5DKK68fGi0@;00HlwEEcJ>OhChQ=s)zy60+YwKpcakw3LhFBTXrlXtvi%5{5O}w~b5S)~2ku2IYOU|q-TcAK;0;t*!jGdtzjzD1 z-ec(`;YK=?&9rcfFwID<*JL?^Nm#v;J8Ru1&+I?Ej_*KDzG5ad2DPt#)u!=%XN}R8 z{{P(1u|{|LSZI_=_e{f7Bv-^fLR{&7tbYP21ObZ3n&XS#eAT&2h%?G_)>|e+3R}7p z6K)zIJpeI=ZVB2S-WL_O47_H#P$3p*W_+_Br;|g*$@N@KSg;5;>vH5@1&Z1pFO&4P zA6q)yySGQiU2j-L=~YU6=+ASZ*IFTpog8xnQrT`!W+`_Ybf72ufUiqfy4*I0jPRzV zdbNsCMI*d49mAUiy3qyIzW2QPqtL*4BFlJ_yKkDKz-TOI#-a|7HUa-ltgpyf6ulvgHP`Rx%4<}2;(2znHY^QJ72?^2 zdxtJIpJ>}1SIG=ff5DxsW=1`u(Chg=+B@Va{4C^~bh}tax``Pn%U86GMlI+EdZA-n zh_e>m>4niQZ7+j=9_mkvoD5O9L*8L(Sr}49g=ve$pWrBvq~Mi zCxociyT)Cn^)7gqBDxPOt)r}Qt?ncl+Sc%Uo+q5vowR*qYvC4Ja<;^v#5mnf2d6z- zE2~+!xId9||3}?{I}vu7nv#xlr*8Oqx6R>fBsx@F|g%{aUxp=12rW_hAxE%Xh?;Y`N-i> zK9-c7-RlZtby6;mD;5M8s6ZfHFL)nuMK??SCa1LVPt>j#TBDkWLQ=92w=XsMCgQxX zyugW%m**GL!00j0eZxK5usnP%fib zt=b(@RHQo;n)Mils|vT-(AV)PbxH_4!q$JOU*(OCq3N$u_>S7Qh$+)x6z<4lG3^Gj zj1>AO=BL|iwE8D50df1?1Z^<5-}-TK%4HgJuiG{6fPcu-I#|`-Bi6n^_!l6N(rm)? zeyjErD%x+UYZr2{@BJs0@g_UgHeZpCvxmjSZe}?SLFr>|;lY_ehiQApuN7 z&h6gWgtQP(-b)2pM@m@8?OXDTg=_AEe?eTQSX zZ&cQK9h7%O=7UUY)|7S12&rt*Dy^td2Jg^t**kovI2spH>Kx;LG!3h#8JGT3&DtlZ zo(k$ghdXk$N={qo| zE%rL)t;YDRLH>sj|59dY@dvFlMWd5Kr)lx0p!MC{`H`)oiFaFJm3G8m1zjXeGlCIq zwzj=x03W=#_B53?VZlh1x`OWkOQM zT1ZjswT(>Lgr82Eh?dgsBu^=9)wL$lKSu=aX>=xgbRX!JEVMRu+Tyw`0t#zg=Y?`u zm*1tYk!F8BgFVTYBg_43)}U2Wb^Y(Pg&vwM*&Dky0+qEmLiapy$Lwb6-@^?v zyE$<5{SMS~5yCNnSoVpHwM}BBpT3&?tP)Oz54Tl?PMi!_lEF9PB0 z_It!R)b-s)=3l&{o;RbCdY{qF`lF+Lcl8MT!&-Yre^p_hz?!vk#r7|~G>=Z%{*_7s z|N4mHYHMGh1^{gPUD~DvXYO4*s z2F^7(t}-@Gb)E&0egzJp_=xR>n77x1iqMMC8mbkl$xMitNrEJ^j%9i~XJQZ`ySYs6>eE zv_*Sb8nkBbY29qyCL*#yVWTcce(*-2z#22gRIob_D zCq0a>5=ju&*45ZS?tro}%VIqXw{&hFJyuFvcYFrgv0N8)g^WMb6oWPU8X0W=#t%M} zn#ZF`4_OTt_GFTFcgQ@PyL?dg8W_&eja|0eB9br59k_GT;9cUl;K$L?nG2I@5_qzL zLc0QC_t&x2x`_z@83)Z{ABp+{#hKxncwt>RKVF{@Bt{QT+!>z!S*4{_qL2(I+-Mct zROE!+rjVNCXYBiopud>wSAX=@r9KCU9ejz~n{OS_ChcO$2!W0gsUKWxmwTg(6d|Zk zH(LuT!l^AK$E|JmgmP`1W>m=cpI-Zz8G)a~ku}O2*W|omx?~MTwkky- zP2m0zf+|F zM}=NYkUCVPM2hkvZFZ)JbpWvQVQJsrYoIT)V4%MyUJ*gwO=$l~5(RcWJGxskArY6CPzHozmm;Xi}h?KBOH*agg&M_Ej)KXLJ zo{f(2YE^N%huW8}V*^!ogQ$I)JF(aD3RQ|sBJocL_u7d~<_4X&JG^t(M3NN7Iffl& zcVM*ho10JX&cxgJ*IAS_K^rd_JE#tulEjbvp0a z-nW>m0Cv60-11%+YizYoujNUCRxQi3^GZVU{N8EEbL1hGK*DHX2ia92-n99=1li4) z&?P9tQQD|mdOi1&;VOmB3)`oojw-xFEu2ka{^=Y*)de9-bqhK!N#NTjEhGe|2Fog0 zT=}BH$jChd))s)xCcCH|xEsNZWZ4`0Z?)@yH!+hP>Ie;T@uLez_|*XU0nwC95&_p-_(MJ`U& zU(>i;=yUJ)B2r0fVU?K5kieftn9-|)A`cUT?!0*CV3LdV(v%I!meL-om$a#@v$vkq&YVclwzsHLt;3zI zt{~Nn*q%`g3n7La3rS$y`E7Dch8bVV;fptD^vdA&v4l_8VrHOm6pdw0KQ#|1<-tkK zZuzIBqG6a)a&j+*ZZ)wr&D7FlwA9gE) za&B8z&Yqy0f6u(vxTP#8YY5!!RC0FYktYbeZM}58-T$S`!#XBlZk9Cdx>F>aa`tib z1x&1uywHQ6b>#*X+6@>D9I=8of`-tIu(U;W`scZfMb&tv@ydaxa5+WT@KCu&fCgiNlMD?=`Jn<#34Zs)IXi2g41{dca z)!)d6_O)PWtq{k@c|hcu1cas~!BClubcUJM1J=o|o`})HiMEY13NDb@VHECKfWQ_N zIXz6Xu)PK-aC60+QVUP#d30Sjjmc0Wh&Z35-0UR$);})MJGh0 zFryGr2)?WL$8%P{pKO;MTrjD>Nkyz5PryZ=-FC{cr7azv57sp!}XRdZP}Y(O#+XW3>W*mWu^IRdKYu&;Ys!oQ)dYPMnxZHUcA& zRHPP0A(&$t+_^8Qt9 z$AH3&k)3|He%qw&Ken)CTnezqBL~jdcxR)(ce#Y}Et*nf>n6N3 zF8@Kr0E;+3R4(U|MC4I8YPE2QEMi`T_OC~7dPmu-_BtvOF{vUO zC>Q~>xg=dji$2Y-YdF76aF6Xkk~)35?h|Qs#5Xs(I^VIwMZ=A{64z{2>tVJl{?U2S zSVR)o6I(dw#{nG)=_k|URY%K{!}d77Ui?d>=EL7ILM+8VHYa$0muoWCJJ&RqDuf>? z`f`ME;M(dDJkIE0h{rn!&diX&y9q%}H>Vfqwmh;CZVbAulKiTMosaayAZ&l263V5X zPbh7o)ipyj@1V})fQ#<00>hOEQnzOjIBl^46YMgHVl`j%NKBA9 zBMCTH)fK{RA9rEgiSBhNZb3w=5^4S+^L8%Y?7GpKt#uv?k1y;FqKFuf&P*os#?#H% ztNws4J#?uJ^|8nXunV$E<=PSQ3D~1Tw!J%X+F{syO#~CVNe|WxYlyT#3GNvM|3a0X z#s)w6Dc117Xa=W8el)YZKW5jVb+2l%ok)vxF8)B87AH$<7ujP{TiWrp^-TzU5+^j( zpENi)iVxpN$Err!YP>{|I&!)f`Q{7eC1R;VW8|!YXzJMB&DS3NLo)~Vt68+P2UUal z=`2O)-i4_s=>Vzxd`e#wuf&M-kh2)<2Y|DbE5&r&&UQB@wo;Sb=S4)A+e6%>g!y?k z&4a8^s(FCF)q^$ZqF&mCvEfTjH_3|!AzwqQGdd97I*kk6={izeo*_n2+ zv+EUAPo7m$Q7}`mK6cAs&DIk(XSa$GP+Lrz2b|<~XbYs-&7JYjp>UGR#l*m!pmmjt zRiq01Ils%?dQa~Cg^icY$5N%H4DJN;85_-SqX+BHU!iXQ0pz*KYt0AkGntJXdFPk! z_yndNuB{#H7KlQsZ*%~W{+TLTPkywoH6?xV)iss1jIm^L!xE*V}tMt`HL_$-bRc6cChG6HD-^O9Z*^0 zNDYM{#%Nue-4mCv9G2z*=NKf0w1y4+44M_(6M3mWEhVA0WDBr)b;Av%W3hP=w7mP1 zA(Mu$CPQ+ZNr--SAO7yM%D zJ+*+TiTq^&I~jrpllfKr9JfNRkO<|quxVlIf}Vi<9rlO#7QV|wRDq#&<*-ilyQQiA zi=F2bPI%|^KX*h5OD0!GR)ruKih|&N>BFzxzM6%bC8e&hJx^{^d5P-m5NIh%$NoH1 zoLk`CyZV^T;!Y`p`UCz4*8T@2E+h~(rg7B!q<4|W2Z7^3%S z8m;BjXS{q#@TQkOM%Xy>GB>NaZv@TK#lg)<)`8#s`+WM?F$ydNCN6zmxwJs?(nN?n zpZ+2N88bw%PY~Yq-9~FBksiH!pB@GP z9aq_Xa4qdlp3tpe=J8UcQj0&riO@N(S)+{%PEz8mdfA`!Au;c%SIEotLX=1w96fkJ zoSC{F^kFXgxG}?F>YuZgTwS^Cf(o8f;XI!LZJ-8?(<8GS2-6}^M-NOg49|QCJXqKR z#dqT=uDf{QMux7!vP*H>9wH24yKL9$9YFquca++5yb;NXNeTYm=ycdz$6NOC`-#tF zpHvjjwGhn&-O$I5roWrB9ll(1KmsBq&EudH?AG&WBIjsHak5Kb-tek5^dR`)Fz1#WrqZAlD>^!g35NDZMjWpp7e&b3f&tXjXk z=8Iizqk~ySQ88@dj6I-}>%qij0y?>aJnB;HAAqzo@dOLnSZPqKa3Cs6#Z2M17o42y z=4)t|Wb^o=bdE%fdga!Li9tTldP7`F{N(;_z;J^W)`D&Naeqg(cGzA>)puyn!vnAG z;d#8ZJdgLrPJ4rdMwEQPWaeVzbNPISEXjxKMS0385ObhJ4ODe3+tAxS)L39T&eH$aGB8~J}WhUDi>4f6hx7`a! zyfIlE?!WFIYuLXwR_IMWNU%Ja-tP$-Hmisf!EpwcVUas)G3l43VYk~dI$Zop(9s$G zuH6%+q1uY+U&SZNj<1kwQrh^VC=oF|a1FW9Hm4dR_hfE(m}EGRbKUsbaFieg1d5OE z(jW}%Pdr6<;C_RWuqNuirjw<)j1 z0VH8?CwX@N`qUtxo^5`Zd#k9Gh?18=4XqI}o~~Pi%Hue{o_=py?YsbB;7e1`v>|74 z+{>BJlGHga&JZ3~EdkW{xkEMUY*Oy)>6ecH;gy>5I~9^p+|~v`1udL3fp0iD1=F>C zED3dgKTd7VsS%OF>KYz=icJk%-n#FRt;=XuNY)7|+gooH`ZG&PB5v8TA!(y2n2zYH z{(S=J)kM13Cae2Jb(RnpL%rr?dQ2G;I7t(}zE|`-q8*)uW-&1Oq+JRjd!1vVyB)}9vlUTy+-Vr$cBIu$7dWccZ6)>twvYzlW`z|}nmLd-|`|AcBdvrCzYjk>N0iqE(_w9NEzq$*0gu3v73iNlyHHW`nKZ z{sDmwmQG~(mN<@LsT{iEX+FIuuQ;*w!kz~wBW=-%ESh1aXfG7cjf9V_A5>Q1F6`X` zeuGn-#*CTGrCP7b)EjEf70F*18PL$KR4zr$lkEg*8Bo8EyeHZS8g1oTQf(#wiQEpu zlrKG%iK^));7PiIq~uw`i^JjKwtYVR^gKdqB|(7iYkM9d)y`cCP<;yZDL#2fm=cGM zX~QtRqF_twtDs{p#26E2atYV!Js+GbmF7jkc2zbZu#MZfH>XB-jqigf7^zY_=DTPGpiA z8#jWcSih5}BHp0#YIP##GtV<#>gqSl0-a^3`UxMy`tmO_YYtnrIRw#JUb$a|WUrwO zGQXucP-GtREts$`OmcT)Lg%ds)#wE6hKqDa5))@bf;A3#Z8`qkaI_1j^)?@oGT#H~ ziCa)I<+W*82!B8VvZF}S5rUbgZJ~?PNGtB|NT0V-@|bdsYC7A0P$j^nj9bZfOrpI^ zPfI+Tuxb-P4(B^}0Z{;t)AwUG#WDHTaTW0v&^C6&!z~t&jL+nqd) z6efvhl-Jr;hR;}R=KJy#t55O`pvvTX6xBy<+=;?=I=>A$=+UY|KPh#w_R_t%%eIBj zvQ4j)RZqXX-1*$ttF#mhKl2FVl0oK%kE7143p(QOfWsY1MF^Y=)dT6l8ruFUHg3ii zJb~)OvrkToVfv?^2_>bgK31>Fz0B9)w-*2u7P^o4Pe8H z5F2(KN$n45*HeI;1~AFv*+?Kvx$)6<`&m{}&eZFHK}SxQhS5i=b9Q zfDrxjBTg5GUl((APe{RXz)J^28gS|ZqseYoNo;*y>$bTL>(C{QClTn0`;r%HOC9CP zI#`ya0Wt*{cGV9~McS(0AbwI;i5x&EMm9U&5`NGB)51!?KI3Ew)H;+-$%anJ4&pM^ zDz2$tjl{XVY^?5tfoh1eT3g-BS)9L2b!`A-pgH8Fpt2>@KGq!A%y&5VI=a>@?42SK zup$Fm5ny)P)4|muIf&bILF-(8uUEt10<>|*MQd@kOI?nM)2xI2RuNpo5QTq%tKa^1 z_k>9Attx7hDDS{-gr*%6{W8#v`_~<>7wFH@xnlnw;YK3Ji_(*F1{@*|#!fjrIikc6 zksdIMvGYB6_DZ^)@wYl0!FSX6{U1oDaWKr!lcGjffp1#B90@=Yf9mNJbTxa;uWG-d zyl)4#`7X|;C1sUPFyB_?wFA5Uml@5qZDXJ@TnX^4OG)F4PmU< zzWg_eP*}a1b8}Nk_^NI&I7l|A9$OFm2-uKd$S^d-Z3LLyPU4L*+TKEMV1hJ3l<;a+ zXz`h_0F8(wF3L5)GexGb%nojvPg(ww6jZ%)U{s zzGY2Nde!&$I%QEhj2ZZ&qCLj#8kGD)Z0S6oL|@2ePIkp3)wbgLKfvtapR-_a3LKdF2yQY| zLE*?V|-{X1OpKt-7H1t)MdCCZ=Sl!BXV(kK7v+V?5H_uvIGJA)KA2 zc}NvIe*(aL{qTvQZ~eQolmNW!Ez0k;bvb*)3jy_@JcUPkf%w&fY^NfPN-0c};5%O} z&QQQSoFQ58FP6^`QU;rFkCCOLI`#o6!NwTs|MFXyxd?!ebmk(tQVE zhPrnEfF~LuVt;Rq^VjVLDhDE<@2AqwXJR#q6OpzXE3Itpn(f9S7g(F~NgwNKc3!G* zqh$KtgfG4}F?lZ&st}|?>rU33+_`ofyjw~zVn}S&WHER6Fl8oCb-Uwu+gy3Xc+E*O zt*~U00k3B;k3MC6p;I*vmmMcIsuO9_O8`KB^Q|*jGO(2mvSL1|vsRaK_P3B^9)j%% zxy8ER5h}}RAx(s42n%c17AN?-ZEHI^P|=8lE5lw1oPb7Pbt`pl^oghy(LX*Jynl+9 zp2*fk2ay98q06k?GVuFr8pIx!ywad_GcHnWy^dvNcpTgF-!0JO^g19;lW?QntLtS< zWvk%&Aq|Q=6tFTfx(S4BfL{|%M0{)g*3U`L=i;D@*au*dD_IjUg%-wWges*aq<< zHF#Ix=s~0==q^?-R?zYt>6>MDq7P*!@u8nSQXpCDPZWJCl<@z!dJnLsv!Gwt&e}jh z=|w?6SBil2W}zufWJL%~2|bhz5b0nCgb)#>2qe-(guv1g>ADL9q(oW*gb)QJKqyNI zAqnN4xbJtrd#}&qBPe40XU@!=nP2gr=4vq4Hn(Q&W3Fg|i)kxGlww@EQ50B<;SEqg zt#DL3ioo@MAsjeZcs=A&Qso_>aZkOP0tBtUM(ly|yQO4nLOaSVnx@5{*57_d~slE@c4iwp8<_Z6C7-ipa11 z_CN0`b}it%w%jtJG8!BINWS$?-+*v|aHyOF8qfKY?*3vk+L{*V+ zzBl^xy$|a?+##CgfmI*!wNIc3ZzqM>`B$Bw1Q${spp zRwbn2)@~`8CYnpT*|euIw{|B`Au}!MrxW>MZ>upQyzw|_Cwane9|qpwdJaEe}UIPBv3bXP?=u}vwFMqJpT0C zK0OFVpa%op-OfB7{;P_uy=5^o>N7w+|C)ug65;VaiTh8hqau5tB-=eJ zUj*X*;t7z6+rE`bH)}UJvSLuc9Y4pZ;fPrrlg{>@_Zse^E2XugtESi9fYU zr=M>-(=nUKi@FmjfytR?JYKql_1UePc)agz7j*Aic+aE_ceUmv{q*u+S4pQyPCE*C zr%ayZQ|*`*wmSnPByqig?icI1)MX>|qkt-ra}Dmf#2nXH<*blq4=F}Yn%zhTuI=tR zl;R-)b%y3lnKB}N=ml|1S40W7B^BWTZSdUvkVbby%J?)b`D*nFixH}jIvN2#?{=?C zY;yHzHMTOVBlyM==GUrTDGW5y0AvQ$qH}UlUBaumsJML4T-WP%g&N)F(ayj!zoiy8 zq-*?ND-oCvQK_I!?zLs;;ZRB3vv!R3*k>_U|NKorzG0CTd+8MGz+`cUBWvV&#J$r3 z6+Gwl6dBKUvi+o+bwKD)ZKQi~MX}-?TRQC{2s<}dOTsoXLQO+~r^VW$hMo=46&R`B z-s@;Ms#wP<1dU>6+uF0-J+g{@sXOJ-#^;x=nj1S9t9JRE?Z;bRtWOCFk&;a|gqAA4 zO62G|~I!4dy_LQckc9Gd~1!V<+5wB|o~y5Ah13p~dY3Knp=!4J;w z%l+XP3K@E7%E)(I010xyjUa=gs46;~co}d5wx>VEOR`$m;@}39ymdez%!Vt;flH-j zHv42nluJx`=tMU%a4t2ua`|Ti2J8UIA2mI;9M%bH87dt^UZ8y4DF~ib?1uG zzXH0bJ5upsqEpsn8R&n^(}ec#hJffyNq+RqZlUeyzJ6Wv0#TU!k%Hm@PI&efH`~$s zT!u`$`#C)^jHrLx$w}zj1L%@;Hqn zZK8jPsV22q>cL}vTK<5$Osk!2_mULSeTNY2Y88psPp$uSDbcH=dTsIy>4N*cBm`0< zc$MM7ylX{G@pM2C**XFcdQ7f1dveSJ{F(qavYE<7f%r71or-mAsuflpuIq~w;N9+u zoC(9M8gVd;93(NL)6;*(D@Cs+qPs8e5V8hLi_HH5341*_A= zise#IL+ZyQZF#30GN2a_l72pb&3(e3Ob;GPcllVnm!lk?%-A^}S2Kl=27uG~>FH73 zy(Y&5llIE?XPUZav!1Nh-x%U&$H-wGnHcN$PKPvfF&!7gEE(*ZLwh6Lm2ny^&ju9!JaV@nmHTn|>F;dp1WVjSjcDx(R-<>~#ka1-u#6idJ#(g;7@x&Cw zS1AJm6`vZEb%M3gCSF4dxv6(q+l{?gO<@>;6uM-j(Ba&{*Etp2JA$fmhsvm~t37Xc z(7lms;#~cyzvVH2v91H~ylJf-Wj3*(#t_^=0M9PAkK`QO9JeoVbJELd&q=92PwBI7 z!}#x|^ywTrZMJe+JG$U|lImaP1?lKNR)f7gbh90Ul#B)4%TlJV5G224?H3LG*Mr|B zCxTW(oyzrD{=xJLIwSk+-Y4lekfI9Rq8#$$BncLlK{oQP2NP6|9vB5M5v=?+ z|KU(<>`O8cE^wwomyr;_e2D%Oe}d&UIi`uzUb*%L|j|<=|`E$I2dauMPKW$oT*8j z9dyvEU$9{4TC&6}%cG6lyAI1%3nv=sqp@vmhp}4X9v-)ofh$TLTS?wO^^=dxevHW5 zTh7>DH{*3zmQk#ccApOmzN}#^{SqXr9pBV1DO`f?p&ID~3=zrjY01fn;g^cn&qyaC zr`! zCv?t_ES^@b8Il4~3a_s-i_^I$z8pQYC>pOlrj{X8*ZZ==foJ%)#qS?uAva-+)Jol! zKzLb|pRDu7`5Dd-H8$U9j@{+4kU(E%A&|CNk*bj0mc#Zm|&6{55NM{9AM`u2F zNOp=oyU*{|^C;QrjM+&M$_CH&Z+tN*9ER(9xdsLTF-^Vw!u@V5tMF5Wb|wTeJ@ntn zYpNgDOC#pdu&RoxKDMCc_~+zFJ>11ZJ{{#Sc-l+AXWZ;O`bCB`|ScnuJC zav7()Q@jXzZE6yPu$E(Pt)B<-&Z-2Pbv(G}pDk~hx5i9{0ebcdC3F7>7szBR|Jia$ zlv4YRM;kpy)vIW+6;!>6t8nFJ{p6)5#;4RWnbqH%p^o(o*2_f%KJlk zp7g<;8?r5lh#g`v51hb4qCn?f)(_VIx2ZD2v3BFA)Rr1vqycsDe>X>OSfOJ%b0sL) zQ&1S^pU!p{2qgOmjwTEftybCQ$NaOsLv*QadY&G6vdqwoXXwhd=DHZ1;P!(6*s&Bg zFe#n#)<3QcS`EtMIyb`~cgslKJZWp5;oUrUovN0_zWu`kgcuq=elgVt59lN4pEDX$ zH;lFWTC<5rXe2ydZ^@nzOZkM7Vg*eV_i+A+)=dizAFuQ2*mEhiyHs=adMi7>fXBty za?wZI`(W)_m({Qkx$3IAj%zX(-i86&~0dL;=V=0^uW(7x4h6w#QJfq(5Kh zgCvkdkcjD;FR$qn7kHR__zcKV*A!pmp2ro;zS#T3?qPfKKDz~ztHRn3fkAI0!ow-e zG3eZp#}@n{J&#g!AFA=G&h&mzIswh`_|rYW{n$v%$UoAgfXw_Eo_FdeN8}<>D-oBp z(Uaq@%k^XYoN763%dB_61cR75^~uhKZh9^Dx_WBb$cBz|!NUc9Pb5@U@Zik3SHMf- zS3oVw5IiI^;khIcKK4G#C6tnP^XI>n%82Zy3xAF1%4i<~C2(hl01P0f{V{7m0t5R$ zMC4;mq)Uk7B6T)H2Eh6uU~Q}p<;NRoGR^|r$j=TvPeUojX{PtkKve}uU>|G?ZIGE# zg+WM;=KM&ESeRx720H3wX&&otyXPcBl7U{7rqte2ZWae)9aRuu>qy-Zxuv;dr3#%* zpktFX)-P2g_JITX(qbLfj~Zq@0U_3+iODgEcTik99q8W>56f>0VT567+VsqXqgr0E z1`9E%fhj&FYL^uJ3wblJUYz)C05^`%Iz>$MFz$HJfivftEZP~HJNe!c;6>XNnV)L| zG2TtzM0+A;sNzq=ST7n`NerKki!0+gOZ9}PHp7Ka!4fP2BU3#Vpe`J20a2_)#~(SH zQ;4cC{^JjT+KG)OiL+bG0eNQlSkBuZ?8$CWA{|Rnr+(5tP%gph@>8%QUYV{PGDC^1 zTcJv(O_gGS(t(n7UPIYx8>$n#U0Q*L@wD*`Pk7<>K_Fc)XT9&skQbj&p7jG9JLI}m z(Ivf8d~aw#fm$ZKiCxz%x+Uz6c#(7f#K$RpxCV%=*{6k_Nspe|C7LEkKA9}|?k9f) z$7`h!lgmCHk!g+(iln!)o`{8>;7t?0MB81NwmfEcYv_qE^c@XotFC)fj%o6s^MofN zg^tL5x?^(g4yCP*Z&j_=*)w-zTZRt?<%Uv|p8||!>Kh%E)%Tu;FEz*H1PLYzsms>Z z+u^b+_^GU9ulA6szt5xs>d|BtG5N{TQ6;CI4y}%j-+i++nQS!ZsDu#4jUdKiudrCH zh(2=&eJ#X(H?O#lJxiEBd2%pv#B4Li5(#%&1HM z&6lp*34ujS+l@0kcdC_|^sI9q(FXcx<+gWeqUQv+oz^kT?ROuAh#%Bvg{bwQg(tBFoh1^zU>Vv=;GW&D|1|Q&wEuy zO1Wl%YO0ZL#~~9LsaQml_Q}|A@IQ@>T3_srr4`;WSJGzE00P2s;&xrfZJ7&SA<)p_ zItb4rhvY|)47FMl3;#8OOd&YO0bN#6<9HP77S!Ns3qcerP|#6s{P#;D4as(P`oCjM z%Es`e+MxoO*!BK3JzNW&r=c6M`eHUBbfY*+@&^!36$PjEne8b(yXm%fpZ^QEO}kl> z1j+rYa(3$hL94;TNnV~F*=de(Mbhga+6qr}e@UiF+^#az^;K(`%}&3{8&dRch+i1qktx| zVQ%i>~0wPzu1RyQD$p z<1*c3SBO>a9Q!9`4M@5By2!);Qm3RXS}Ofe+w^E8&Cvg8)}^zYDoIH}kkR6i(GJW| z)FxYlAmD9$2;AvZ+8EwByT0`2dHP8KLoV5p94sB_>C6ZJn#Xen@<@9mq@tv5Jxzm*qrZsubvv`t25N5S)QRC zfeS>rRi%t&zIN44>D~^Auf0+0JY>V%jz;{KuEHY)G?siwM5Ob7LkQK>=mMtUPu8ikN0K)m-w9yw7S__A*{?F2ibfr-ck`?c znC?|yy9`!~-}q+wmicybyd8y0Vt+3Rah+dN5j1sYJ@=GUjm$qmAsh0q9`aI1O}VxjjEL9mc!bX$ikVJCUZZWzAFCi$(R ze;seM8`(TYP+GqwTUnB@daGbUCK5T?99JPz+iv*ggX@~x&7oQ+Te4o@(m+O10a9v5wu zdg6&$fmvcpIVHg~K8N+VB+rF(Es5D>a{Q&Ap?en>)_<3PYY%;sdrVfLCGqg3$?RW_ zBfOBYjT%V*3b3T)+|7$<`SuO-921JE)NOK%Q~a;wvVOqq|Hu~6tzTPg=x?sZ^8w=8+@{!`&E2Vl}9lId+7JS z>n|(>6s~nWO6k9WqrI3Q-@84{4v2E2FRVrywm!Prszw@bdXqlWmNwK#*l;-{y2RJL}#C1&p zy%d|8=I5`00@?$EhiVGA#Kjknva7Ia=QUr9oG&UsR=@n1JY>+vl_e_@n;i+9YiD09 z7&v%Duj(W&GWb1u+tk#$hT`>Kb*KCU9VKT-H3Vjb?+_arx zBRX^x(D_Nh`JqNcZdCN%Jb^)sR^IrH2XBV~p=!|kT7 zQ<;s)RjLKeg?TlxHGx2(K`F47$lJHI0`C6Dh1$Xzz~+0AK08}DwaeSJMoKx;*1*c) zfx*j_6pcQ|-Qhyf&aC|t6#(52CrGI3wcTqyAGP}art7qczLiE*ih~C`+Yw`N>Jass z8esoP&tFYuA1oW`+YGsTN@AtGWb-Y#5P;XcbBZw(o52#0ac2{hG&}Lh;95v@<6}qa0*?tvImD{RpaOIqMUlzo$)}=Gn zS`ZaB>gfh_xjnJpwgcaqy+gQ^n`D&-kju#h6G>wLsP_TI>#k<%{AtxA*OQi>z5u8b z$Hgfn@>!PUQcfq3YD){+*6#w%2KdN9Igc3@dog}FSL5&6yqvuK#E}j z9k&lcLMC9YBqL$0ue%HE)c~kX4}C>X!6@-YG4%0VM9WL&Rf8vqfxXe!MiaaWRC9o2 zrc#DuNl-y+@7s43N2~ckpS)sl7A@4SMHaf+#Bg2q2UG?jfXGC++bpFK+d^8+^i4pV z3?mY0FW=nVjSCKPY;oXX&Fx2bj=zSuu($UE{TCTG z4vy$B*#LmK$_^um_g9hu9cI@YqWSl^0aqK67?>K&`}~8@x{GrH9W}3N$&rG2dwpJb z{W1vPd68^gUETZuns4{Sz~sP`KxAMAC1XxvQRDy1OCJGQ6pFGj(x=ead9-XWbu!d_ zxx$lPh@Y#L?i5XzZM)LJ6D}EFnR$pm|Dbveo1E*Xm{D`f!%)4-Ev><^=bGA!PogPe z6hYujc%>!l#Mwj4c3cP9aP6qWN;?sFy_AdwUGKUMe5ZIyAw4-Gh0?j=+{JizhxY52eB{zl^vFFtiPE~OJ`qCGIL2Zi*1#@q8P}q3>5-SJncz*5m|NecHkgiP7 zcv2b1ESsYLrdA(jI2tnHLyRk5`iGO@g11_)cM|aoJh2@DT4n!tG4BP5DS%o92^?Xy z0s2tOVqDreg{DnH{1)Lj8e>B7Ql7+nG|bbc9p-5pKZ}^!kZe=z1IOR7T4+y5cfdh^ zEVSqiNe%x8B);UdV>g5la}gW*A&1lo^UA2j#h2EOJqR6y^xb~s=PwnCtxcs{-(Up$ zcms)FXTQ21?~9mtjlZfO1iOn^C>%P#$-(x#AmQ)>{@qCMb-2Hu&*QpqJw6qYm7iLS zbBX>8I-YICYv+2HozW!rxXv;>+S@>qx#Of%Z>%kkZ6zQ1r++LS{6h)9zQI1Fa-+Me z+IZig0=1dnuw^tSdZ%K;e&T-!zCHnEg#4i1`M@?$99?UON(Kd zVqMInX}u243@03aQT-@{LcNKzzgWMlm`AE^@WaBi16mpkYZgO|!N$fScB!tf|3-k4hmF<>daA*llh(#L;RJ)=!?%%Ta)5nCMs zfuO_Zd8PaUI6lUX*&TW#sySCgEj3j64?z}opHJw z_lFGFR`Q2@+BQ1c9N7l)Xzg*}q7sOMVnV^<9%gXZ#40rol)k`!x2A#J3v7wvn*-X| z>#ZjT(-z09S)!?7s2|S;IQTSDh#avR|OPHg;p~{V*;koutltBc!rklUCmN zN#&%G;LU1&+r1VrDOs2uOkWQBpsRK)s?0hwokV+4n}OkF_w>cgMQ55s-?ZT*$880OaeG%-R=BewW`jhw2dKu`GvI!wdd(iBOpDmQG`=6zj{-sc$V+Bss00j;6V3{MOmKA3J3o?WjZ zVGlD=kl%5@*_GQGB&SxLR(nvz4EXOtviW3srDc*$$F%N%kECaK9xE&6@{@()>^=`e zwCq@85RX#!|F;hfHAsHrBaid>J!3krOIPn$W+or^Oi|Tu_dHyMtimD)jen%o=ytU> zs&)N+@m0H{u#c1EPtOxaW50aVKiLK>0lx*b=1;c+fh*4Ak8zKRxu*wx({<2=*pSwl zmf2*^W}*^~#)x&7**|C%9+@4L7h)JnZKRxXN`_Fxx*mM6Unc4y^t~aAhDo&A8TC?`gKh`OiWeB2eN#c>mCF<@8Yn` z97ZPhBFpK0v~=A(?Z*4YCaY$fdNi{Eobu`{Qamm5uSiJX7=f26eda@T(&^!OoGoH) zoT3)UfK=DGa4BbsV7@X%aZCkR(Hkzc6P|4Gw(~5S@I^J`~W_t!_OtaWFL(7(wl+(`5}wo?A%plZa`8YymW)`3Y-pk3U# zu{&!RcjGg~Xp`t-#YZ1lP8jv$*qI@h!)3L}j2 zVK^1LF#+n~plhZ@c&sx;`2M2bB7JG)mJG=MzYpl`2;XGT$lZxyq4elrBa(A#-S@wDw|@LOa>^>bJzDh#hN5SVO%Z&t_RsJXQnX>%3! z;mytzk^5_PV+c(RYb^NNbxTzvh7QhzjgY}@XJ$wPqaQ*(>mO(y?#y_Q7)B`_&giyg z1rK-6RhYwE+3wg4r(P>(Sa#YH++M~$ZAp!+r;>S-6>QS*-&Z8OuRET$gfnYc><_GT zXjFN#L`w|I9CSr3HS|>nIh$1H&1;oY@Qnfu#7H1lug(AwRzu`|YP2cKdqaXGjJsz? zxtq;z=gvtV1&4h(EOXd3lfVq7tz}l(Wfh3*m1*ImP6yR?psVLuYptg;~9ys%UQBJ75<}fbLxjS z1LrOIFTQcXSP4U&-nB>3(Q$vd2Iv0%#SNyn040Ck{$H>f`C57Y-zoNP(i)Od9s61y%twSwN`F3#p`yfmZ7eUcY zCF;R@R5EnPplhOmr<@cpY+#wBb z-z#f%0T)5L-NmT-quUQ~xF^HpG1asv+A#O>?d4^TPT~;3f+6}Mz)DJ_bl1Dc&8=C5 z$}Gp99iVnNeWT7iyN$PBn)0QMXtN)G=P9x@nJq#m0S#r}N!5KbV|hy}ZWZxf&QeXdpNgA&#kJEVa5Xd@3g^4?uR`e1k0Ao~z)_ zya#XLfFhR3cwg5$XaO6=T3rK7D@N5wB*~Brq1)wgfMl)NHr|>3NBFjE>@b8J<*bf< z&^r_;R7z1E@TXXm2~-Snw9}SosG;uV3ipcWaAV+9Aafs%)pGuwilc$lROP5;&RFKv z15}NLbUd?a)G)}IzzTV_+p@lt%r1j(X| z+89XkCl?QFOGpeZVFMF+_YLwQc+nLT3E2(Jpq*P)XGWRMBbI^&{Xu%V$c(bpzCWk)4yygLZ!Y$gYoa8M7uFQZH#=C^MzS4J7zOnn+1hbmOx zhIG3rfo}m0h|*~iZfR#p8pP!v77nd)*(&a~c4l==K(DZXZ6$3ent zvpA@6Xz?x{_CAO;3`*2I6B&m0kw;{@mNcRf4V24swHc$jpO-QLY{a35PV zZ)`1PM&WVDH-rAW7R@Nx`eg`Vq(jmNJLOkjx@!|VZYr#|AzR)~k{k(MU1l*u56=PAhD2v@dKPAzSL)}Xi z&~xN?%>f7|3RGU9Isa|#G){2c0AvT;EQ8+H^@#~jRHivZdqcSQ$NaG7@9TEbc;&IE zv3FF3$#!EkCl4P?Yp?}=HaqPD9EqdgGZ%bRp2%1$Rx1lJ%3n__v@Yz0{{8T*&At_$ zXF+V>37|*C9DboQGdc1CdLEUXFC|gmlE#UsWcdX^17HE6MwUrQZBtIy%Rp-pC75Wb zQeVXLuVjFZLXn-=papB)LXM1YJL3`B2ugT*>kV-3BN5=_jEYj@op-mRTvxSq;xng4 z7#pXV!O=xK+o-VJUG{QA>u!CDi+7nJI5R+epD{!cbSekeX@*uM#n2ufh+ov!V$xm= zb(fOQlFRC788yrE-{P^`4$Bmz?sEq8qY(*0fNC?rS;||2j~Xh3ZVT%xl$5&Jymv#j z->&4&fSYThAJ)fPvz8<`0AX3dD2kvAYhV#nM{KK|YN1;u$HjTppp2N^6Vg}q6K&6I zK#-$(?WIj~A9bTAjG~#ocpDGL=QS=imV)xqTy7D*YZ8*@%)M|sIK0eNcI$RopgKZd zC8J?cTM_hi)-Xdki9+UbV|Nz&G#s z0--311!JVQm1_7vdt(#1ZVIE$g9%g)eylmD)q$(>nnOcSnkh5Mbl|E?#B8bVW{hkMw^U!0G(-^D(Q zyVyW*ZeF4;e!V1y#UVk3DTOMsV6h8Bgeyge+%WrHmZg+NvXnM;=?NhL#Un9DK-cwNwkAB=* z62TLF+C9VONuPx9tib{31-Hc`18mAsnS5PSEKOE>EhYOnazg^NNqnCHEXtZkKoOF< z6=tHgX92joe&wMxo#y2eL_0-Qb-{pYYs~JHXr!9Gh<@xV#*nqJZ~d-^zK2Z5Gv`y* z?1G!e+)_N`6d!K_FK`VN6SwsO5lssGH=gIGh;q3{PT^lK9(2a$J`2Rr{6DbV&#~?= z5v&%7R^`zbBkhd3YBTIBEt^w$tv_tG0n{8A^$<1o^XauaWi5Gduev@&eiv8vMz4S=F*9FB|lZR4p^710YnS297djHg2XLP+Aqygq?sMOV1FNE5}TJSQW^-OIGz#X_ept(6E@jIIj0z z>kez#1j4OxtBlHHOtUZj_aH&P^lVHq9kScHg{KCh!ZJs1!d$h%*u$yB4HM-m2LcTY zw?0rxgZ{B7%VX4T4Dxcj9+NZ7m>9#I{XoV~pe>rQ_1mL1Y>96lkIs*s;m$Yg_8G<2 zGp{mQOLsdw5LZ1(jK{sFDQLp=TBllQZE)>2@M9$}JmJ25)&f}pms$AM@QVnyZybNq zfY5+wX}RkL((};zi4tZUa!tOkI7{>*TB_YsbVagwI0LYq_N6_!9U_>>g zMDJ0G6IsQdq4+|F0-Y7(?W?gGY)XyeYPdg`Bj{7Z$ns>h0oUE)uwCxb#*BLCb~Wt- zH)X50g8PD_9alx$wb;p7T8?MoTZ1rBjld~v?g=UCr=Cy4;qG zTUV=*FnyZ<1^wTRIRFe9yYz~I8vuPvb1IdIDu23*Y1W2k;6Ds(@tFvxS>L*{H_g<< zGtK%lMydM9Z!eC0ZILTGbARV@2qZ zxfI{FO(nt%@R;bONZLndrUSL7A=u1dFU|Q5+Z!Fa8W5>YTc|fukqOo+`E4a$&~sZi zM#-o{X9o`1vd*nUcYT_Kq}!l9^AOkz%rec>Wc%Fc+<%&!V~oCy zhL`&Sf=#xNEV0P_m!;`xYZq3(vJd8}qhpR-OZ~FH6HF5LTEVyrtopS0w1Ra%L)9?~@Z5WGI+wV#g2A?7E$ur4g zF{wu3XX5m1>BnXECqma(js_}oD_F%ov!kzEyOyIowbT2x*5w;*FaZ@3!!gIinj3vp z8m>RFU|EE|?8hJ9X|z~tnQci_?t`DQZ72WMUt{Y@JSj_jh%)ShxhWfoY<`Mq`aJjc zYz{Z-C3EiIs!g3KNfKppxp`S99C;euh<;h|r=c3Q;$PYa8S?1?>j9yG(>6q>Z!q88 zFaX&xgN9l?%|fR1te|-%;}Mu0gLiNpDc)=UcZEG7b-k?7 zG%i&R1)-gUxW~#yr=r>kqwQx#gMXTIn+#!cU&8d?_WIIJt)>4h=iz+_ec*QCAr@YPERE<1KDVA_U+HDC5?Bzd@ijGJM{o=AM``hoSyNo@1cGqv1T>WEW z^TvI}gJ>Y%b>${;01hnHD}TUapkg`AIw+kqd7ZmrG}+|?9Y+iH3%L6rH?5GS(7}jU zek1K$&dF0EF{x>`eRBOahhO2^QUsL_@I5SWnUFjm!*Hhgzv!%A32OcXB)IQBItu@m z@Q_LTqH^WiUXQC!72`!~UK#fsJij6*mTjW)+1nq!ROoqQb^1iF&++*8s1jr=Jg6pU zB~sknjA(Z`k8g|p4w?Fye#d?d{-jfYexu0Ttj0;!$bIT-gdkm$D2&0XA+M7ICTboU z3x)Lyw&^13HeHuX0+&*5MD;9IQrsq@zDfkk07CxEzFLW(Pxt2l#KDyVWLf?S17dTR zwbp^r^z^{}1SwqDIGmuI7xMK264SMJJ}0QbZ!SMU8WJ^y)Xvyhi{Bwy%c|CtWJ|p{ z{$@Lj!@OFVkF7Kv)1#8*+*P2jG+s4yimAd|vU#UrN#&8F9YnX@ZkCT6}p%D=ls+-*vtbgWF7 zvHxsI)g+sy|D&^EXCRD`>I+>F=UfZ-=uy&AKDi?Jn+JVC@VAK&xpw3uwRamY`A>|FYj{q{@Hx3ZM%_0IJ(N@0Ua#+} z@DtWi=J(R@`oC(*`%tkdMsd9truf26U<=&OL_gv`ID#}3 z$6b}NR^R9P?sV;w_uq7DTIH_?V*$N##aK(^z}6fP?fClhtILUR8>AyMO6-?bL*wVV zU%|1VGhL8J_#PR(?}}cvN@6@m`?uQZvx14cyl4DkIbq_8`DbX@qX;EV3S~Vu!S`aG ztdv~rk)kIJdu%&QH=+}aou~RYFT0(fzpC4m`X0K$UJd9-SbDQ~rSDVQ4j{)Po`6AL zNtM9Jp@e|F9QV)sDTTYPti}oQR_qd7MS?mRVdC7cJ>VD?RH&J#B@U?@_5F_fbTp{s zS%C5TWcR)rcmOU!lzrZW^C&;iCAn$#)z9+;yXR?g8-HIgis4~yT7dkOR%8iKe+-@j zs*y0yS1yAfRvN;3)CiZOp0@Jb-YvChF>3?+1q}WI4cPXF3y>m*0&A^8mzxUmC_9X2 zwJ6=tIyttk|5n&36Qa}K7`_;#G=(P%%RHHQAT3o)+0?eAbnx^isSQW5 z6BsN1G3fdTu}bO z=Ykl%V;K(g#RtHjHLcH=RjO>S$n3)H1xAW9&E^#P{UyhGYS^KVP&cM}e3!z)sRv>c zv%wZ=vA6^i*U*3Vu3O~K0lE>Z{*7U?9Lk_Nsb-}H22c!1iwT(<|XeYpcXd4ggMqCri*TCLgL z>(TRjQ;l~vXO@Qw-x2%ORGa?2RugU+Kz^?}7WUlNXf|af^7j_A#MGKA8wSXB_Het# zC6q8`ZYt@rR6@lyvrPC)-uupd2i-z{(~8I7J0zG-!wxbsKfTH_hx7lNrT#b6>Rpz? zppcz0e(p#KMQ2@njPrJoU&qxouH%i={DTqV7aSBC)U?v^ej;J4J>Ax*e&u=>`@WAS zrOJ3DlV_GsD4t#P@aSv6wM++Haps5qAHI>$E@B;IHxqH zD5o0o?^bW#IVhNYO1;{t^Q^L}=N289gp#hA>0Swm@KAX)`)T?|#&hLOCHez7$#N|>-PVV>Awb6e#-qrd zqfy?+#6{(%5RfBA1jt*I)4#g9s5V8=;g}|g$&bALwl?|FDuaGlD|!iR%nk)yI`QG1 zNcFTWdFHWak)>9{^nRtNwffYHwy!Q+twr-~)r%)@{yt&W!jbeD-O@c%Skh6Sw!ZGO zw*-2jcA<zODymt8TkBds|MoB(Z!SRiY` zdizv^uYMdQK}ZM{3)AiKR2!&RpMfHzlZk1B$(rw5!o+-;+NZd0;xc+uwn>{mRpUpa z4nNgW(D}_G^=Y#DXzrENbNa6&x>CWTPB4_^tB{+F&7Xp#;m zIX>43XAWz!0%B^eP;$xo%e~)XTKb6a$Rp~~J^PKGcS2X{g{2AbM{xEJgFhvHBs`tT zW1Vfi4j08Gjq^tttR0<}NSVsPt<-w9^i}&+^vE<^QS?1@d^Emu^S1if1mugC_w>-p z(ausi%T9sSzhkns*TS6~pDIlFFKXD54z77qukg*L^;dg(W?q>sKsmYZJ1dsPpKm)S zjIKJl(TgdjYY3moE2)QVeWni|+HILB(}lIXm5a(umeIL1lz{zLGCpS~yjd0EyHl}T zqZ@3pMmHZb<9Msf>uI=u*BU#D)rjg745}oIq8~KhL{XyU7grUAnPGLlxW~I?UfOF5*GE zLLAn~RVc7D6S|ZvjQLSJm}SPW~t4MP@yWv>`w4S@vw@Ov;3S3qc zrffw}>a&f3Yr_U&0@cY)w~qE6J#NI~;5wE&Q~P0}O6ShxreWRGtuGujSc>S+|d9^xZYK zr@?9W{G_$vy^Aw@;}xb(R5omC2BXe@LH^01IPWJ#l zsevk}DR~o@-@21MO5Wr+b*Ao4%*|d7)6-Lyf@H>?*}&3YNHg*ei$Yv`BkAfF>LumV zv#ojs?QAHXVd&M;7E_Ime;oTY76!fa%1r(p(DMJgOKP_Zv(@!hB#7PpvA=lMHe%1B z>6+6(q%Vx}|0ddF$2!dTkMQs1HxxOqlqN}VgO_si2? zvDJff`Ev#Mqpt|PFz`t$&*igt9Hj=Oc*#gC-ZS0NL7h6a=itGAlhyW<Y%NXQy|AJV<)WPGmqBx>z9PQ=ywho2owe~3INXnF2fe_^`9amsX|wb^G` zEexjnO}9O6rfx>dqdB=m%w0RGm#bmYZ9&8_=hnkKYqJhb;L#F(+5MptAerhKw+VHb zPbY1v*`nK8@?`qbQ)DFCh2kBG$_8tZ74W_@g}va8r^~Nw-W4tpGx0V$(`tp(fC0W% zy_7#kK6frq4E_R|KU%@02;f8bHpeYV)AKqt?nPWm^JTVk?M&_dLeGoosu89ED?DAk zxwo(iKb3o(o2~tu-x7?5TyCy{Meya|<6=Mmxp8P}Z1GjQ_;f#kzSS3IF|F}3HGSua z+qdJKtCq80O%IP3U{>-?Hsw!@Wqp6(uX1bpFGbx~@$AfaKP|=1^jX=&4~^J93Ztbe~QW=x6rJ?=$`kpnV51BmPodY*EXy@_r#E(x57{d&E(mp*TBn)fvgdRPs& zo+CTsW04Ecy?uNuvd->lGGDh}=d$dA_+E-2S}$`BP6kewt^E|^Yv9;51&1<6kB|l(>{a zYxJ0J<`??7mb=Q$yoA6*FM1tqzt;O1CJFZ#_cGlJ1||NvT_x=qJLhDez1kmn!N^}F z4P|6|$-lxNdAmn@A_6*B-L1mdeo2n{{F9Gp$Z|>FKU>XIVWerL8QEkS<*+X5^lD~k zz15K6?~7lAxx@H-eb%%1j5exJnwekIQE{u!8XP1MWIE{L}@$Tdt`87J}~4^# z@tPwMB7vXd+L(8FQN)Mz4phiJ{a{Y|Uu3;^Jk^gMFCLOg2-$m6p^Rhi6+$J+mXV!x zl5y-1$6hCU(=f94%HA^^>zKzmA)IsUb>HXn{pWY@?{6NQ#~H8ldOc@ose+vLSn3tS z%%l})%OrV-A3%m0p1;TZk(l48(NRx}u$kVvbM_&hZH#(}o^HLosE$xhr;NvMww7{c~&d zvH)TYpe<-`AO+{mU50B^+|{?*_=Fqbxx{@W5gM_&yXuD4V<%Cb!AZf@O5?Z4a)~o^ zB)Od-He!M-z~<$$ZV99tTpDSl!!a+ovOo`JBkyG zuKx%nld+$(hv*+jM&ErP*6uUmm598!pDDaXhJAHEe`SP7;$&(zqggAA?_Tu?F(RIs z=9xN!yA&mD(P^e>ouess|6{={q_AX0z$>c@`k<29)OuTLyuU~9K|M9tn(jvZ6GBLc zk;>R)HG_sJ*ZMeB@;oGZ?GAS3mB2x$iEtL*xRPudpF$9pdp%;P{)8j@#1y~KCKC7V z2VU=8yO2A$b<)&-;XEFP+p-}@6g?;W-;9gmo|BX5vB#!Sx<9GBa4HkMYeCP$2;_!+(G`^=IBcoIx%BF2N z<5Y#Dgw!6(uwdgrm4!r5E1(}?^kqK+L)d+>TAj{}w=(XmR3}v_c{Ao~Gg9yzMC$Xc z@sv5MWSlVld43L(EGGEiNx7zfdyM@RWJUHqTQ@1P!*o&DGJCiYxk%xf#9a|;@i(B8 zI}FKl;AO7k(Y2UI3=UQw-vJomH(J=liKCgQuX=s1ujR9(L_Zw_CY+Qvs=> z?%Dt-Nz+Zj1(6|bcAOl57i9L5Pz=NzlbsRPJtYYJt zv%`F7vtVy6|5)hrX{0d@c?k?;T@|!o@9j8l879p!qt453r6A6EEBi!rdw-YFeq~|m z0F{`cYjwM33%sb_uBA;8$rfxzKkfFl@w(A3& z{+JhAk-*Ph;wS}8+d69mk0gXf(nvlQ09moUlW$C1Qbzr_4uFU`D|9dktNjLIy%uE= zv#u?<W02D#?yJA~fOa?VG7}jXj$fO3c^@h1jWwUn^&qG` ztuSh1=siD-(P?b37w6%i_j9}ShCTgvUx0p75(=}bsAd5$P*l3KO|Hy1%4?w|El z4|if)jfyg=d6x7%Ah&2J&Snc=8VUd;xS}GLIympg)gpGRHQU1N`>VY{)|SsvDaJ>b z2L23YAzV-2u=(qWc^5@+2cv5gz1sbbNXJWG+mFGG>{Pha_A8yg^h zYLK-Pvj5UQ$sa9o0vH*&v7NOr8DMQLk)htk7TU7uSbJtax!TGJl+Ox`WOpdldAT9; z_YrbkHjP9fvsic5`GRM4HG)m|V;H3Td7J2dBQg{I4onr13OxH`#q0buKpdNvXI>C! zvC1kNlodaa`=q8;aPpgWooQRHT-drW;DVWi+vT)!xEg2jcmbw?VoQ|XHBL{4RMnJD zi*}tcRW_A3NuGR5X1#pi_y-MhP)xumzswV@51e{EdZ3xAr^&ZLi>fg9UF*#HF*!eV zhmNhDHo-)MjLY_#K+OqoUS&*HflK?2JsJN)+NKab>^V1{P;8_CW5~s#dod0py-pjd zl!T(LDSP+piw>qMGmiil1R8%>;6Bg*Na!;%S?Oe77UpZGH1a19@4_csr`C?2lvRPx_!aVsZ@6n^BsM(+N?j}G6Am28`aaW-iuu; zJK2_{4F?%P!8ctnkB!3hrXR)Y3m)da?A8EkNs)<~N6XcViRbYy9u2Ig*fCYTvlSos zi57wD$1%uXklA((>ZjCFrdQFHe$`^4J>6zMdTZPc61RtyDU(`j-f3haHk}?|ksBytaE-NU!(-9=586Ow$a^RgZ$nGgEm{FgdX6K|^Ys0XtK)WQ7aslB zg-NOQsTkYYctko($_wp)zBjOu zkGcn7S+eiV#b?ZbZlZRm-rAp1pA8&1JvDoFH;ToKu6ej#$ul+k#w0aP^FrT*9REe@ zJgS|WqrH!Ibk!wVsiNNO+r1Z2=~IaYN(vG&-^K7HJ|_CJbMLL^ozH!3_zL(g-30VO zZLh{RN!5KNS;F6FI3*2D?&e#YTBvwtrbI`@%0fSOVvU4Lvz!-sLKX>y$CPtCDf@FS z;W>hrfa*ZUGnkof$_+{72h9rmH%T%sHR)}SbsB16njar@9MZCExM^kID#5UC@BH*a zl3*|J`h1qYF0qqIPr&ANu!$iD*MJ7H-!u)IFNH`C#loc4ELZGT+*WodOO+^4zeip( z1LMv_1mAX9>`lN24N+ePjp~e7=28X>4JglKA*!86Nw$cszZI=qf2P*8*SXuHn0lJh zkSa#o2|!TqShJIjHrB2ka`Q*|+0f_=4J z7rt|{I7yQRX@h8!GA(Z+)f%NzJxw8)iC81|LRQ>W7zT}b0B=#a&x43|v2}^Oc zLNV!{LMXK8I7HOn3oh$%FezjiyCGYRgA9IKd{t<6YanulMeG`oswBx*+{~Rd(m;V{ z?qg%+HIrcuHa(j}&#vZCe66(%!U6UwFhTWe%@1-KYY?!xw1U#^$mZZC8bFD)9gOb& zawx!g;fk2uM=a@byw@U&fJDT{{^n$oM|0M&Wq|BRX?>3V_Snm6G@k<3zv0)a)1D-& zSu7&gLr=dBupX19Z&OA}Zmn2QmiWegNY;6lTXbz@8 zO;i+%nl{Ww3HyLsrQ=W)Ew$_p^tyf$^ON&G1y{#+C1#83EKSL$+ zi3bfiS^$Kmfk#qV{mVMJL2~@m$JeZB_Zi&X_sJJVfo2^j(NAisOkk$(t6p&O9*9Gh z{l!bT#@5nGDSDOsl|e^ToumVBD7)}q;qS$%7Q)|q=`=KyosfKT_t7#nr?s}rWG?o$ zwYEG@ObMUXESrecNj|3cjiwBDFv9)#4Hz~MM*aOfBoE!X1~}LgJd>nAwGvyxmH}%| zvAvyK^ue=|T#`Ka#sRH`$pd7DE9lN~xwgXXrrQl)6~JFf+W*vJm7K`zDpG9;>=0hJMyG*&wpa9Hl@8ag9RUmL>e&tu}m7qsYE+Sg;9N9$(tz8NBzc(qTu)F0nE? zfG0#-eobjJ#u%%sXHnfU!olPh$u6+6trAI#cyJ`n0Y_(~`q%VR!1jPfOPQ=d2lmx$ zc+J<7C~3#ki!b1m%xjc}g4Wgxs{C@rwv-b9h4zgq4!Po$N@M{%-GMDQAaeMj|ND^@ zWzq}%5|cV51~jh}*eEkac4j)0Ha~7Cb>ptFR$YVSzi_4xZ+-Xt5E&SIQA^-na*b+- zpNw2c4CI5YV6v&~NkT-Ue!ZC^fr{;4GCI;&;&YPFRi(DFMRDomBQj=-uvqZGO!5lG zRQn(Mqc;Z6=WG#88+kKG59U*&>HrS~V=wDuHaTI|Z3boaa}?dZ#+<-v91t?+|KGhe z+x@Ikv19fZ&X*~tle30jW0;9ik%D~A4)>Vh7!eq#|Et5~5jf9d!Q@eLwPjYnxl|n8 zcL&|!I3MYp3HJx7?}6VlB}~{&IPHP&r=6I4c-=-7SNfp3u-3%k;~?ff$>H@= zcjx+(ot9fFOiP*OmdVe###(eLiY3lt30>!qmcmymv~1ox3&n<_r=F5#r)2FVU&Vp% zq7xv0pq*DiWX!t(ir+Y_$Ze-t89k{_B*vT8n@vs4n#el&)~o!Gql_5;hdI?lgWQ<> zJ(>JyMVS>Z?=LCM9447P<4><8%E?P>Pnk{2zlxF=h@PboIu6g{yrRjvRnUyN;$5F2 z>w)gGKAewKSLVa0(FA3=FhHe|{~ zv1)WiTr?z|CXiF7_Jh{gHX-b^u3_OY8YO^oh5YlidWnrUy+ye_^&UO-XBko+g1Wy+ z;;STq8oKJp_WPHH$yH~D?00I90a}Ul!(ut&85897GcRrh207x12ljFwfa)Ezx0ceZ zbRz2~X-Ts1H(s8NH;uQ%=hQm=V?Y+NQ&|5Y`$8_K5W8yKtEKkyPv|-Ao5I`x;dq6R zxatIO@tnt(n-*7_llY7zVL&N!IW-CV?7DdXt?UFQ@V(*BenIr(Tz=HBpuc`{OV^duS^ zTpb~*tek4&slG7j4uE`Ov9$FrmrICCGtY&Y>obe%pN(@N9i$r28_B@2Z~r7t@zG?C z-9vj@X1J+V_ijC6S+Z>2?G;Ay)}3K(r4Xd7_L-NsoS_@*jb46pegV-3w7MkZT-Z z?q4kg(P8JS&bPG~@ma%+$W}GNzTml-LLF*_`16^Wfa z`wVIeH?52B0xBaK8#nmZ2j2JK!CT(gHN_Wo47p^F1`4*-2dwV^D6Zl~#i8K2_-ey? ztkaI-w4J$)SmYRgwj&_>o%Ns$fuKQ6;L}N=q4F`wj(EABVlTc$WAXqk0zpxFmq@!Rcu4-qA)#qO=(zEXHyhvrSkl^ylc&u*3pGA z(6kHXx?`dfcK0{lFI;RHEOB~f^5_Z>EL394Xxg%!wwz`%XV*lr@2^nxjKaa*0BJgF zO4!+^hkz+6ik4BL=O<)N1vZT7o)fgL)1xQ#x95Nm ziFBB@_s;gy5Deiz1!XpS9){r!J>178%mUtVfR@xE5dL{zP?j~;$74bfJDXYJVpcQM zYjU^YHX~EY<_nSerzN*7K8erWKl--c?h{NFa0lDV=kAlR{5~LQ5Zd-=|D2yKKWk^d zzWs6+JWS+a2|ajJJNsp)chPq`IH6?J@P&!zX`=H}J!IxYDfcgO(bnC{;1fPp$JQJ2 zet*B0(Eja!t>gCxY!%@cO{2@uTFK#HT_8EG86>B6wFZbQ^!l3l8%~iKGTUI0<~jA_ zNn@s*G!hsv#rcU%%Mk|DoxVZBr6jX-iDp;2rlXrYM%U0ALapm=(~|NmV515-+*r`i z%VN=7DW7p*%avo<{HN{pm~hUj29^U)vq!6^P01eg1>=cdwD5v zk;dfKZ{LA>vhWJSS?oV28w?y49hI67jG@|2dcYy-S_A+L*GGt}1!UMpWQI5{_i`V_kFxo-M!X3jfSzbM(0|@v!J-rEf92ybMJ=K`&JH9!vp8N={xwBj-){ z%_UT$s`@2HRL3(7>eR;D{MTujG=42TBCy&N%OGdeEPD(n+;scQ8NH`uVN@@Ni)?bK z{<=hVG~Cj1U{K&jh%Z6TdYN2Hfpjgn*n!H`@5dV^f(1V}E&w5vy>!GY#ovgJ#J&o= zO=cE~`V$7%V~D(Cpxmkf+(AH6IA-+P&F#4dzh5Nt`UlqByy@z9Zl|8 z+@~QQ#^X3!)Y{+L82<;qEl+Z0^#eu`N|?rM+yseRW2T{}j~mM%y_1}c8TE(O!xKeY0i!5In#1( z{b4$mTVz-508*}vHWUfi`V?S?R=9|`9xo*p(!auoy&C|On`?FXYQ3|hXLx(H=@77S z%SZRBR%`#r0wP1aPdysGQ#M1|D{yNH=-VWR5n_1%Scdg@aqsQ-Gpt; z!#gis{hV*?6$W-IfXS|j0lu69G?LBhr{UuFccM)#i^jH@?5rI8AU@k}>3(0nO!Wcq zaPMV6VlbXhNucHoh9$|Htwp z&7Rut2p|fV_nQ9Dk(Msnnqnb$uZdaHZd~H@m%g5yILkU`$dFpRPF&xH_M>CIEP^b~ zrL4Ll@hzWeCh^m2m(yoxiXItbx?yolNk!_!gT`;c#q0m{n__G}5MCqq#(hQq(FFh` zp2_A^V|hHnPRNLt`OuIgG4B%= zHXvzQMy*C<0N^&8%YujLQ>5hSMiP@kH=?OToRT`&odu^kCZCS&-pmkxPVfwLO{Ju) z4${fU%RY$$xujn7+dq`j;H^4<-MqWdu=+YumBzt0f8kKhiLUAHMTW#03s58PaGgPb zZ|jK4{y6{9rACw0jQ2cwh$>@@+Wu<%_iQYf$|&ykLn;m_(n-H)NPlqw5B<%#b3<)=g8bWkv4!V}EjCqa7aPsSv$dunH_QP{ z(EuEIQ0-dP^KrwiwRe6f+knwqKdq0l@~gm^(Qrbe7AtL@X8D3m<4h<`_ZRoppB;ni z=|WdWJ=P_a?8eaLwt!n1PZ+FpH4YLXkkgx^uCoWDp8#=oRnNtP5{_+#5v^OqTJ7h} z?ajzCnvLGuL{*Ukps~o8%@1&=CT=+8MiY-lV$S zE|wv_D<3(tFA161a`#UzcWr!;>QC+gc9F_^Tk|E>`a>0;xY-Wb+@tmV`>^8mf`p9j zaP3 za)GntJ&#YC72EBV`&nc=^w`>1h5xAE12qm2?W>-=Vdu)~%;z*SYPhZ0x;2 zbC`U}QDgs#M`Jkv+1T62{4L{OpghwpE_o}8CmWU9-!+n*@3jMtE=F5@_n+r9X}XmD z+Kvf`HSsF_Cc)pc_Cqm#@=9mf;+=s$cY1YYc9V}9zs))REK4;9D%evpp+~)ihH^r? ziA(nq*#_db@68Z4;#qiZmf8IE7VPMDvd*zeE*+S9glkFLarFF~gkvOu`X-mHc9uf* z^p>uE8OMwjS<~0Km+lgn?4G56pG5iWAMWpsuwE|$`tumQl71X24C5;u* z+bgovOeLVxkjt*>^qu^1q?3JC{(7x?5yEcONm8)3*N1h?Hpa$Um@+eTC2Zpwt#DbA zAY3vt|EY<5J79fYAo}UQ}5>_!N!Wi6}6cC`ezS+ z;bJ@oVhK6CiO0BAu&D(O=|dK#SaF^N1Lo3=lnNgTbGt@l7T_7zx_DX#K-g<|ko@kh zW{o{p$YHK(uJcrB(qn(I1Fob!K=dmLfHocNDLPmv`(klk2GVwFI%gx(PIFZ1Tf#^l zcMG6Bi-DZ0XAFIsKJ0JoP`U{!s1A@|8kJm+PT|f2L5kSM>&^R<;F<$3bE=HAu#E(0 zb~rJbvy5p*5T>vLoJ9gCm5M67MeMl43ot^;Qt$+E}}#Kl?L27!p>E z=yVxR=cEW@6W+c_9r0Gd4)@E$*@{TY>O4;uDAk3lZtIVdMZjSlu zDF~Yu<3m#-A1^?c22n=R{JjN|YA{7GP02G?uJz%-2RVmnxC(o9wxaWumdZg-WjKe~ z*t;ieL9+XZdFMd`L$g{OUEl%Th_T)B2Cv-MHi^zsfL;^w&`e2$Q;NYEcd-Hx+vwF= zE8lv=S~EDvd+&lIqgIMc6~;dm1!o23dl5bfR6q|zt*dZ}7NxnGcNOb@2SdcdF*;{ z!B?AK>a_yrls3@I^+`H)gzzsr(88HhvGH!=QPg_;5Xw-^e+?&;7rD3A2)^Z^-^8ZF z;({|22{e34=XJGHJ*Im;|JWOFm&}acQRq9SoVSq}thl1x)Q}DhaD=RyA@KOLA*N*_ zThs2>@*+uacG2H^=~%?>P3*TGn9GnxldguVy^bo=yo8>rei=`8#Pj_NJRyoF<$g3Q ze2iYu*z`(ET2p_r!5J6|bTZT?bUim@hl>A=(##lB+g5f`@wz4bD*)djnw*_MHn-r6 zcq<=oMF?Xy{$!hs zX7$HtCskt%b9MyT)u-!!2;jz|^yN6kXHypek?{&2j*PC4T(9f$gzd=o<=&qE>pE@9 z3A+Z>9Q?ndNavP%CzOyjno{?yYR(`GZ!^^4;Bu{g#lfX^>*m$XOUWfkv43v$QlilL zOoYd;jnc#mc8-`X4Yw-&FbPV0e3k=qIpDWycc%Kw4RLFjyT_3h-PI#YV>9|YGDhc8 zJ-vFgN-FvG@-wA8ONe#y-6u^UZ|!9&KJpk7$r*y}WTQ#vXK}aSYQMjQ5@p|rio6di z@adl{9N8S3Z6Sn53-N@AEBqC7$G*iTWE=O5V}W2&%|3HZNp3wVcE6u-&PjYmUkirX zP`@SwF)A3rj5@%QQi2sG>thSNh|S} zg*UG&o{q*-GqAISpUd&AzQQvg!mMgd_UNHxm88(k9z$rRWP;Hi;iW?eV)pOVDQrE3qocR@zmUemsR?D84flm2a{!M|z+ zFSnFg@hgD8(=V>G*eHJMq5J6eE5`rTj-*J3?`-D8mUIw@l)VYorD_Gp9C1ELj{>EK z40NiGk*u4J3Z4rhbS~mVZh%a%jdmVnBe^Ue@0f>3I{dp(N4q)gVAw>4T}<4f%=AiR zg4^x9K?i7r4+*!o_~hNWN)vLh8XaW%xcf3Dk>*lvP}x+k<+bgvuIh-toEvsOgb0_l z=%!g!np-qyOpk#m&O4-pkn@4@4E#` zGOMVd&*TqOT9Djl?7G-VaQHTvx3EcY>j2V%^Yy2!O)fb$;p_YG>=f2Gu|LLEEHn2l z@}SiXCN;Q4p@2IW@~m zDJ;Mu@d)qNdw*$LYh&y;|0yJPoO)i`^m;mX%HX<-RlD^1W!7g16LQz-J>|?$e%&{s znk%PDsB%U{-dD4>aIlP1T;oyMR90$#yZr!TMNwUdoL6gnX6y6Tuj$eP9u3`~K_jQ7 zvBY8(6AKgM>Uj8@HzsdxcJbU-*{&VvuynR@c9(ZoZq)QP+WGO@|9EMZ`^dYCvd5)m z^>#@wDZ`yNa_;%;DW|Tq1&^|a-Wjlmd6Jmj?!EmSU;J1I7Gh{QoQ1x1f8XOLRdqA% z>3BNNo~ZBo{-5M%oP_#nf1;{BK{(sSKKsmU3QA^(_e!c&&9j$NiY_%HL0m@Pz+&2Kx6yiCM850-wRn|TW&z2?i1^ikmc%c32 zcI1tnL~=sMB=b5=Vl$M$KtS?&%m={s>)QL=iYvn}^5m~!`}~~PMn*Rb6yD@)Tnq(3 zI>YSMs}s8RlO6zS4yuoP)@D$Mj{LxLmf%iv0yrnzofB=10*S6hCIM;0e1C!SW?=@# ze-Nb(%83J0#OsXvuDSqvwq566o2e#3a)3zFVM1O+z${WQ-t;%yY?@Gpe?322l}>3A zBZb4CaIRR%`~!ySdOF7`m8X&i!XBIq2@qAdTfm?Yra67h?&9_7DwR20yo_D7E_3~gzaG+w3QZe+tev1# znoVU~mkiTV>(5$I+hShrmXhNlGWcEGDN2K8EWcpIA7|k2f6PIGb!PloVGAz=kmZv< z6#;*CvR?cGMA?>d)LnTc{(?}LfB8C92697M?TY)rFoura#z- z{enHvW;r^6b5p0~z5g7y_?^B8?@)HxP?Jwzb5f9fqV*=frGZ&Bi^t?5YY)Q5G8+VE zpHW+J>TSC1ea}@LzCx8Tl)0hfn}L4|-WmKT0AdHd`Cua36>jE#_y@fwA=+^Atd>h! z3{_PoR{&~E9k%g}`noH(=c9MFICAfTeW&kR7Y_4X>km)4=!%R;2rC3TA~EFy3&ERn z0db#2&~BU1(>;96U`^aeRF>EL_W`vvI;RSwqbEsbvkXFAXZ7G)RVvXPCUMnUAG|UF zU+GWh`ETjevka4TMX2cKu9nu0(qB)3;?s%~=5mGct$lSmI@N0hOko^=2uZCpig&+7 zS;aM{Y=IZ}b8fP96=kWgyp(CUZ6(+Ad$YN00?PykaQq&uYa}bXn-kUkMF8$>%LCWc79f7 zYPL#7sUX(vf5PWbyzu#OKEJZ(#wuj(^Q#9{kG%|n7wX}bY$XjkOcX%Ngp5d$!~x5f zy>S9xMLHBwmbc1t^{vFt&e3a(#g#U75H-EWN|2>?29n#SCD&ypIQ8s784bJQb~@o_ zz~w3JZ~b8Ou~KOiCB!VUF0r=F;U_O6bW~BA%vZZjz~nrls@ z8Z_oZ0$()cvgmurFXt>nW}3#)3p<+E3gI#D!bBy3|&T1DsilAcF;H&JL{N zL>x@g(_H1Q9|%S$e?QnS680DHZ}wW`cVBws|1xp(Yq0~lF6w<&GN~}O>I3)ICTJ|8cXg!DIVj%Z$a@!amDaKOYP#x)-EQX~8$*gjWK|-^ zl##J^m)dhCBB7A|rZ3)=k=u$}wL5z?XYW!+Hg!e#mQ?Z}>T!vR&bgOX3jBF;x>l&m zV}!!x?t2nf zt6eBuD7s-Niez$ad79-ZfQKgyA#!7UU)WIh%#Bkoy*k>Bqydkr;przBZz0*$LUVyzCmJO~E0tjrh^u@6vt=x7R_1&`WK}RZ}JUEsaW)oTre3I1ZD%d(KXkv6j@6C=3ih8 zXJU?0zE=O`{t8=|nV%VW?^sUiSPhMR*%pqOEY+MTIA8QfdmM7KKFk`#{^G&Q;QWAS zit~0vH`9jO08@$^tGoSrtt~70e;OUz|1>)08B8Yk;+PiZKm1w%GzErt83dd;SM1is zXhjll%oc~rh>Yh7YZT*(r3M{7YLGT5vJqASDd`#lW!kqS;AbNyH%+(&o;5Uc{oLp- z%@Ue0s(BL>G-aqCbVJ8TpBaPelGDolZlBDax}u@U21q`RbxhK|k>FJMBvaAUyl;8W zPdW*N*A8yRgM1)mP0vS^%ZnX^ptTh~R73&pO3zIlMnvn4N_`GsZ7Y6dn!)%W{0$TT z`MXV8Se;BZAq46YC@f24Sv4LX~(j_)i$CyPk{-u1~3e!a2uwrUo1|ynx0soIG+`tGBd7Z{93NEOAWWn z_9^}|`*)D-i7PB}-Zc&sCXXn8`s+%>RL#mv3H{?+x(JRzQ-R6*I_Olc4hp zk{&VHBPf|%77L)-d*&q0NcYaE3Z0VO)lhqa_KwkvtH8<)#xs!2Tm>UBeEDrb2;_7= zy|8gn%Y1VzIY9C+epML|T&@20!idCY-{gU-WwoPxKNhe(`)mq&^ow0RTj05GK9+d8 z!BAKo1g33gS=$uZ2kccJS)&t#Q{fg{o|-z=9wq`y`b}l3u6+;~+uye9tMe%Y*@+>( z0n~}ye6X$l&pA6+2>5|WR{#QN(oL1O>u~(Vw;q8uuq$fNts`nuUQYzy8A~a%GL5D< zRn*mLH;pl-H(M)&gm`R}5m6?_e>Qg-{Nz+ILiZ{1vM%#9l!rq}u5#g&dM-L*kN-Q|IR4p;E8d1C{BreXY69ho##FWd#C$=y_raZ zoOfn@n$&fIKZ;$WZj4uY=sQi8PkA$UDjMhL)-S0ajfgWUv&}fJtwr8+Ja!Cp^29*;RO|1u?o&4mv!CwkL z42o73MRPG-2L&Xww!R?gsy&#fg)?j_UEDN2o>L1jnF@2vCv6KSe_~HPC-FI7SnyiU zjqz9c_+@D=<6T1>ubx83D%PS~$1TQ0df?P>oA~~NibT5}1eC7LzU)!zag6l_jsFfL zX4`+U7@;~}Wv+_YgKWv5Pe_JYrpWr1RN;hGU~bb3mm57As3KK>#MB+kqkBFr0i3SI!5UQfgNL#U?CW>>sISzF z@BODk0G0JOfmf3mj_R8oZ;vP8E=LQtzpr~gaZ_CAiaeb|d2|Le(QR^)paLOMn;E^e ztCk7#{EgwdK=h8T)+|B6!Rc6FTO`LtuKlop=GCu97qCF=F@TA2?^Zu}QCcqBXz}G+ zs9fb-Dj?Uud=%H5a^&KyFjV6t1E#_WK6VZ~^yQX# zU2$G%Q?>G4Ak4_-EQ7#FX;+1}c~G03^aCkDUD$QL%0B6sEOxkNk3b6FfYN(Bt#*Gr zUUJxJTGi7&>ok+;PyVtZ>`$S@O-urc0+X<@u?}qjbKI3Sy--{(YCqoyn@VnTn(Dy| zd+!Ra2NXdPEH2jQ(5@uWy>WpT>mO%JQu2j+UD|HZH-n*TTNamp4Yg%@6Hhl!6S+X5kHU=EF~>{vXJ_`viASy zj+p`Om=nv-Pt={ogrKGdxgDkewY_ljOj4vWK7l)xuT|n_L0Mz3BJCBmTY_berVm~k zJK6kt2OxMy-m`=e-ZYswh|(05sv3Vs8%yUu;krwpEZd!LrIeVUYiOfEUN%FErE@uV zTuVYdV$@E}!@ih)LGb}_8m1_l&;;cDl#A?dN-#Z5PjNmJu$U4Xuo-d64wZKynQc*= zI~9eB3%5yaZ> zq$TI-1dY7kHV-wnKadZn=%`<7Hf06$IEWe7Xo~Qj_$}d7>VS z;Vji<4IVAbbpGF{7?+UIU^$Abia$s~tT^FwzO?#Y0B4sD34P6-OtX;O{5q7j=qIH% zf*h_{ls{yjac3K!s^xLgm zYm}Twj4UsovBrO2_4rri4um|F!jlfVB*Yi?H8X~4ZA?7K$bMyX`!UFoM8}Z|HRMK; zrRe|W_0hfK|M}uw&aWQe4KH&ztv_`I@Jp!|r9xRhtrqGey(h(a;3>N5ADj;CWRW;h zv5O#f-@gFS_&m^pv>};{ZN$^TMXKOsqZo|t(xl~+pR8%`Yu;r5#NZ8&C9&=u_zB(1 z{mjc?1Bp&~T7VdrW0oF4THMVBOb0ZV1)-nY4^7%@!QGS^g$TBBa*T4+cW|ZoFj?MM zJeiG&A_5$b%W!=6+tZ@HewUn?_fz4{CwBdWw=ua?~w41`k^H=G(t7DKaKe9o1ek8&p-0kv5sXUzobT+O$Y z4;?V*@gdaR4UHzNg2SF~#g&>@4D~ZXYg_4#3EI7$V{-Kmx1P5^?=@!end4g6a%}xm zZXOdE(1p2-2nF|hNbyv}jV$Jy$IEvdmv#!>{pVC;M)-87r6zrf3LcSNN<8B$SWB~0 zS>66a8)Ae#7|xtZY8;9B9}?pJ|3yM(Y%GBpLIA)`hJgKOQpw{FH2rlyDz*-!BeyE3 z;aAOIHex^yOO%%6x?B3}35zc(PoP!%)*UvQ>c98z2HVOu$PN{z88gNB1mK+vI>&dd zE;~w@=Xa>SG$e?THbvFtSK#Q!-j~8nZzYoog}kVA@uK`3!ZQ<(t0OEn>YoF=a*35s zM;Vg{OMPfKPCIMswApKr=XE8z+GVah#DL>d7|(wN^#2wPezDpr6m01k)A+RSvB0kh z9a&r1eH9Sd6&DkHQM=o){p=4-MmVHTn>{&b8Kup>-=`K?z0A=SoU}(4EX6cOnaFlq%BDFK;jZ9iFOKHZLJtc^M&J zq;a0C2V)w5I_sCYx|H8Ji9Xm3bFbDvbDVx(Vxx4iA!>6AzADkL4+^K^urOv)eyA8p zd^u%G__8bG`vA|&&jk{dCkuUBwF8nB#g*!(G<%M%g+U`a?KhR%vV{)!yPl&0PsiG3 z_%o^peG z`5AJvTmg}W(7A3WGy^im<;UTxrz}sVOX2Jf2DqQS$ z{q#`AOufE6X8iVZeb2!g>oOmY#DH&aJXWLz+#yx>gh;9;`l$lCEDN@Sm!Ijj39$CY zxwqmzZ*zekkr8>Z{u;*9m>4If)&e@0=^v zR_d%wkdp??(hi=d9|Ma4FA_%tbJbeG88PF={eAt9xhJtQ|DFX}P>*v3yoBxPq3>5f zJPLrY{ za>rX7hJL1yKUuNd=Ih1-o+*Hz7xc7b!OL07Bj!@2E|R4(0ch=Zn@0p4bU-IJoGeu? zUeuEpbbAMK9e&xq2Y=k#OK$-==mEzT1!=qdTHT3Qt&VqU#G45A$mwJ7^sAGNMDuMz zGlKX8AXAag!2+<4kqWo`O1yq$R{S?V*N3*ixn^&oNW$?45j)%Ww+T&72vHZAXZ^C9 zL`MTe6Z&F3^3#d4JYLhJ%Kl@C5I#Gzh8?lGd+PP<-%71JS3QzC>xmbl z=I952%l<>-W@<7k5igNb)h_c54{j5^<~_>`V3(k1V@I_4 zJSEL24iJ&jpamp-5qK^}0^!pcx}4m#TLnKRc}~7T8~6tF%7am2bE#t2#N2K|3>18D z<{R%Cu`6|no6?`ZH~03%i7KXfdz{brbzPb3Y4YMY+vVW#Z_poa$!ZY3angZY-Sv|5 z>WGkYAmscYkzgPg`@jdt&_wJ@RRgYOvseN%ens~tehC_XG(F;WqLciVA0!9y$L-F| z{YD*8tU+eN?sMEiwum2yi z&cZ9oF6{c0(u09?OG*hyw+M)Uh^R<+NXLN0(85Sb>Ig%(N_T^Fx3o0FASg9-_@41u z>s#x4-+ur_?{nYR+1K8`y*tse^}wT^&0waM(18!@NsWWQRsrvbM3iuk7p?ee_c1C^ zNhRd@cLUy1#`?xyi{))owu^@W;krZlK(w%#5;;i_UEgP*EO>U~8>yN{P>jiA4rcx{ zw$GJuTDL1kYg)XWQ7N{%4f?CUBs$^e;Uh%1mJt0+z8urs zE2IkZkI9k_wMlCE^x)br9KNZua6^7{O7B-C_A7Ut?N%9v842>n#75Uq#u|(%|Eh0{ zXw$!V;Xrk|iwy&AI@{w>&*}8POF2HOLucpqXs#tI*~eV|Jf1j9 zeY-VAFS_n1`zi{d;6L9+q%np3(o#GkpT_n5@Ab-gv*a#zHASK~?r zzr>?qK<@E@I9kjKGsFK;3?Ke8xH%UMPMa@LNTD-C!-_1o!Az~$2BwA;#Y2bj2kz!# zI_|Wsr@NN4L&Q(}s-}#QV~v)j-`A9>k`9y~278}%)mdf;N}{uzHF1NfRX;pY@hmEm zLx1&0i;PhjLzKe~L+Bg*vQ-J6z{VAYKV5t3*E{Qj?9W?^7n*EFU77~Yje8qjtYC7S zCnbhg>VP8KfdvjcZ_TTr`H@Wde*d>v5vNIzW~S?!^jTz5aZ>dc=ChoDUde0E(JjEv z6C`e^pasE6I5`6sOS$=Cxw|gQD%CuKdeKOtirw#LPIL&COFWtun6zcoYr*XPK;cp_ z6N(Z>h^>s|_d~#$XUo@~TOOdpuGFI%--}3_a?`%Qpgw7UkomZfhh{?2Lncy7V!AuM#()xqF%w{g1ec#a+Qf58piKLLSjIFhjulLE)6;4C+P6@yU z7#?-!G(lhpWg`5dRDo~a<9-|--<>_4>KidnmNnD)S1TL@>IJi{$Va{tw8Y*!V`EaU z-uzuXsZudEbsdpu%V6zNdD_~SYxX+LkTI7`q$LTYxMYX>ZW(wn{L|X z%0~oythjC`fJwu4>Bl1hMh{)cam}gzHvVAWl$+!yCl!Ca8W1e(;a{%tGUFE`T?{op zQ}(9M7qE@+ejxwg#xW@em)Hqz{&~XMYj*rm)dVt)Y>_j& zG3j`vuJ>eFzF2f^p1Z&`tfG#br`}VH7VNoq6VB*4{lp>nbGu-$Ld{LzSo?XP%#X`m zFJxxWcaWaomv5$&U6E>cCq~!fLnK&IO?Z~FXaqhe+PJVjI!eXeY9|+;FJ0L=Wwq$U zlVXV|`F!c$YUu^G!N~bolj&@U&Vyrg6gptYz-9yp4KZrY6Z>Ls_T#e6mDkr_iWC?+ zE@E_ua~8ZM)PQ3-us>RM4a>W~(SPBcP3~H88?KMvu0TDNTu)5A zj-S_kb-uH>_O|rkD^Dxx#zEFW>0#gbO?6AZM7)bQFXBf>w`hJeKQhptou!#|)}Nqo zqTUk~*5kgpFFH*zAdu=|au=1GeU+9cDI4c|X2V#@L}LI(b=SXuv59#R{bDMTD#IqK zCMkd!!!Wz%m=yD0PKWhhP6vVNnoOmR(vA*|V%PI1h`})-{IT8<%a?dtY3#{U4XSre zc__CVsRAjtQxX9VTQJwVcgb3zr8I-z6*a_nuwwv$MUS=+5>+ug8AG;r@!X=){1~!@aY*Jzn}m>z=12Puza$!U4%f|imgHZe=%@5|e^a|C&uELEcm;TTaZlTo=JFWv_L zR}M&wJX8zvx?LEL*W>v`ElA)L73d@OcdQh=d5cdX9ruf(Nlzo=cQl4I<|ecf-PZ!M zS{)!9K{W!UyN=Cj&x$O2s+A4IUMNy&l5uipYPhmq*sbGSY*#cc8KfRnWLQ6}hsB8*tJd$) z7m-_X(d+PxSaJVpd0yD9&oXJ8sLtQZNZ1FLu%#Wyx{oDQ5HJnctN&&Gl^%D{^f2wQ z$+4G-{9Vt09-TjT+3TdPIn#F({NiFlI)k*ntYuJ_zuPXlrce0hJt|XTJ@1e-I(6q-{=2?K-@#<_J5#g=W7KxV;`37q=|3{W-xW7Dx+jbuVVURQ%rn_Mmm^-kLDSOsHfk~9T zmy^eW_Z!jC=V#S<7nMrXPm4B`N%eP}2;tSP|L-*O{CAo;LsBILB?|giUfn5fxjN%4 zLy#e^yfyvPhe>KFy3lHv-AlGi(pSQ6s^+hKAFO`n_Q)f z)WoVv^a0xYnwds(^mW!v-&MBa5B{wumDHBV9Vq`j9Ge^XXPwx(x|hg(pS$2|o_<=* zfxemC#dbnxI#7s@Spq|B+L)O_T}H+XsmJ?<7p3>ozyD6@N3*-pS-rnn^Tkf_DpB>@ z3WQ`;GvSLPdFgEOqs057BaWg?qq#ApKL~oOVFb;?JG(FKY6(`bTV_GKL30w+hTMGx z&L__C1{(-V1nCoz`b09QWGLC}{Mv4TSmYiuZrw|vlY&#@7aT2}m5&KTtF?gX^pM3D z$y1)yC?jUZkdEWt%meD)lr5zGVNFIP zWLJ68A|&ZtLhNGm1=sL%IUmmn*&hD=h99pCa^3l_ z0Ydl07(h;?`HPvl!NB&-enqQEQXk$_8iH<3eY+re`7>~H_hSjnsx$A#aevIzRm#+> zs?(hcr(zMWW|&i#@<8(7w|`5d%|${DLUV!Nl3oHyDV^YH+};Id&*HVv%(`=?`unfy z%r?m;i=kbOK(ad)rJ?uXM;e4bBeymvB)Sa0^D%pCY-(IA|II|F=(hL8#fH4|uW=?I zcVP~2FITV~3SZA2!0MBKjTp1~-3OxAKn+1Vg#o4@n#hQ~4u5fg?iNet%t( zYT&7l*NYvrMRvQWTmu#xl+`Ak(yp_zmE{0DCTDRrU$JWFGirR$B{1>Lp4**}hjHL@svbS(ZBJDN(vq4Bwd z>)WG*!AW*P31$*#l_Wgjp_!q|LA)#Q!xu}KQj%B_YFqyfR7<71d*(&rpo3#7&`~)MnEzt7Gi3DpSLLciN7%8{;jTl!>_#Ef7 zCfTGVeQ0_VOPNuisHX6ffESrV?$tuTR-raN=02Mz^tgFlTzDZ_fMWHTw`af4-1WJ_ zH3Q8Dxh69Ydc8LZrE9P}c)#WW+XuxDa_- zgxdu|M2P$Y=4WzP6=X7!W#n7)vS?A%lMn1l7&yd=d;)v>UK07`lEi#J=e7Ek^qCqw zbV>HYEY$`^-J!Eduok*#ZNYu>9%?jHXYZlt9UVpLqHwgm0zPY>cr$TJyY4cMqF7k` zE|!tkE{INf*}wLx@nQE5pOc4h9ro^(^c5OGvK)!*Z}&$4&#qrgzdk^Q!TJk@Bemkv zZQGwUrv$4#gM0>@U{i{5;SVK&2zb(hJ2$5}adf`upsXj#c`PZ>|9TpL`o{g2{&y-GG)R zg(q)Ti(@YIUHQiLwUcIzIprJLPB}Jnn8(DLtL`(O_)YmIpu~q+ODXO{Z&s|2G)r~w zk=V$SShnyGPt!E9Y9NC8r|3MEUl~d#Jm{^kOse{#ALG!NyVOQ1=y37kx7xjy7vpK; z+~{D=mirSH4v07h=X<~Of&$c?_nKI(i|N6#a4iBdVQ}GLc3CNj&=ZxN@}O9?NIAJN zBctAirD$FGwL+(TwuJ(yq} zqYkv`-|1Qaow*j9jZbhfgI98#0qs(JxMa_AID$|537cUQx5Aw%-?p?m1vY&5i3F;#_GNve_LN+ydVo0 z#XIz0ZMJ1S8&I07tsdzAFOEw2kFcR03BvBA*S~a`>Nywaux2|K^XlE9(CZ7I*?#Jo zcumq+!k2)9fS-0y{W{^TIZIZmsxuYUbjatm@GB}-1yc)w>qJ>L2Fp*FafAJN_1o^A zeJp%9?l6x}g>OipxMFY(?r*CA&wJgTrZLZ*TD+mAVsCt4%&j4Wk)XffSLB`Szhl4P zIF9vU0M)FNI1|bGkzfGQ;_cQr$f>CWBBdv|?2EgMr^TE5rMf15RXWXT0yU1MlJaME z0vqM_@dwxx3`lGn&4Nm`vEl0j5O(D`vGpc}%11_78>I1m(1^8k57p7PV#m0LOVQ#B zuV*xNqfI+kdJ4F{uge#zJ{6I4Tm075o>ZlXWR@~5=!aa8he?_Cpx`G0>9YIt-uIdU z$-AhgOsTJ-v)W0eypoKvh>T#e?*+zYAiz5y=npS>$iznvKKZwZ)~#Q>kGLGOvRys- zo-2mXtFhS)ud~E(GhQ9JEOJjSYdbofS$XawjXvF_XgDbt7SU&;7;%>vcrN(9WtVs) zV3u-N03JN0O;PVK(4d@@C?os|0D-D3U22C&6D6RNFEiF);WA&E!fS?1YAOcK0lh_S z^EGLu7M1&{A0?Fy`0^_5`HST}Z^bnd=-E|gDXv2$V;V%;D3Z<$>{eKHj#cMK&a3_~ zf|wH989RMunT?6A0!E;9^e2BsKTl$U>PYbq){7-K_rO8TQ5UK{UoB&y z_pkQ@$a&|L!`;W(D7)cAo{C? zuEuhGEjXW8Cp_nIlAoBVCn#9Co7}{{F8(52<-^GFsf@gY)?d(?J{i)%{7Q~-iXQ;q%TT5@35nI7A@<^FKUbY&sGe67$<+Z_dY?WeA3aB)q3If(}f-!mcPwF6e6UxmDdzib!Ps6FM# zZbsS91-`d$-eP0C!xnzzH)7QC)@PqA?b_c8R|Jt5%gSKv6{qdu;{znCx(1$V%cO z!+gkotGtkkx=&;+wO{zf%VG-3TWj5sbcfKYuCn5R2b zQRvh{>r6F_7gGCg)zh_v9qReWtplmk{>b6t)_djhVgJ!AYK!yc7mXQeSGAUp?$$q?R4g{tr zEjiQ6)Tc-P=Gc<|GsiltHv-SfwnS!s)~h?%pz2FF-+D)sdr$e!JGJORE5#v1ymgO~ zCZSU(wr9z;?c)9uXxnVW{8@ZxZI_Hf!TP7#lf2sKdxpK1lxgH}TronZtwQJhdQB}g zmm&*}w(M=<3J2|{_L?Le466D{kq@S(?dtfG!17F`fqU&_;kdabp1{HP zHnfrU`BnH__8Z$7Rd@edSikNxAfbTAd2K;e`*fXYVi0 ziiLE4)IsndIL-O>)W-e_TOwiWPYz!IU792>;pPKtlzyn@*%V*(=lY=jkbB@MR>EJ3VdwYnSzTck*uQH!ZikFZL-MJ{YY;p zSuPU#XtL@Go-%CyuLuej>?Qf))A*YN*89V#^35%JLEH{4LCkFweRTl6x=i|8ZK@T z?T61C+g&@7G#;V66j?;{nLEtb1O@bS0#%rg3A-lw=*N8gQzrkzUx5aCkDeSK%lJ>5 zOzZr0BW%dUz`>w@B)GQ|pNv3#+2-5pm>7_VdDGd|G0SvxQ-*Lu>Yay7G_$aidukBB z1sR&`BHKX@UyNdU)%@>!zpj6#`JuooSCEG)o~;;Ph&gA>KDuu+gCU!u-xmctUv%FO zsX>dhr>=p3*oAuV(okF7_-$*~%GYnjV7Z&fJn+kC-3u6450K1?534rh1BqMkIhFfjsKZEH!gqh67hjpJJQW^viG;t&B&f$QReU9ROLlS>i_yRd4VQf}=jj!= zcQ5wT2$1)$HT)jCzn4vMnx~vRCcpLA?P;d27#tVB6>Dd;)-m3DDl@R!8QAkfWs6c) zq_5F|qq^}^jVRe`=CpvT(>t`$aOL;y=6ghLLdAm1!W`ahVrJ@l7Ug?nXo`9X4Z?vH zgS<}XJJc$vYp@ToB|(?#;yr5o2<{d2V~_BxC7*UnMGVmQb@khL z+0E`Eel=0@OR33K;MF4Kb)g~T=5No7u^_Qwd3o!VxjPZcOocGDJsIgLHg z05wJNJlI8>{e;Myt6ps}J^WS8g%@5?QgBOK%Xf@I>?b zxdrWW%dD4^DIfIdM@qt~Tmd^%%w7?pfW^{m9@~YQxZ(b_Sm0&C*;mTb-zi@Wo+N2R zi8x#W;RDqHa{IH>WJkKa@@gOEnG+e``mvpl=INkj9zZtl*IerntKS0==cgO;rdL?( z8}c<>K&Xt;QEL1yw)f>sS1{kU!NvZS2XVapro%8}Vv4)fpzF;{fuLI8)*avZ5g{jF z8y_W+Q*-k4Xdc%ir2qDOfKE`|hS^&CUBdlEl%xA$p{>@av*?e9u!VTr6=TF6(m2FYT%_!@5TQf5sDs+UCJXyOT zWa__Um13NpCxXxMBY#s;!AHq$=(8~hbV8l*Q85&LXeCYKN7SwHxBHrPNx-+@xQKyd z_*a&tv>$(E=N72RP&2{VBz15hKTrLDwvResBRZuMNFVRBooFe{Fznu@>$G5uu>_X-OHed&+iEPv~`fue!QPq zsz#g;O(dc2knD>ZSivaPP{5Y(d48*R0u8zX_56lpm6UA;L9%p}0L6HvSn_0AR0`%{ zwAv;Q9UkV6Jr$hR?_>1a)|KEaLd#)_TV3W#&{qbxte%6Wn7YC)QIqj54#KHQR0AfT z>sm(LWaBt2nbW5}{khU;vIUj|=N!gR6~uY^TM2&j<3X54vwgix6anKt<0U>OVhw37 zJ;gJccgVW)FaPi+^O|jp^sLE^psM7vXS1rj08JWiZe2d#Tn3_}a z&kWd{Pja;Miksv0ZY9-(GiL!^CnVaL`vu5zxW1mhK!YjM$zLKpH66yu_}$s=9>br5 zTb++@_ew5qyafktE!Q~;Kf*tg(CwDs5*>nxqe^TcBc%EAw{!jjZpM>4QZ$hl<;6Va zBZEg$7_I=?v@fx&sGuwc8_o2pQCA?5>?u5j<3Zg>(e18oQauFwLQm4HM-9bjNz1>y zF8cKF8ew%Xsqw{<-m8q9c>;GUeifvVLBc#yv2%wmsuyP8*vhp6G!c!1XFf`5%!s&O zB2#mP29qkAauU@a)Nk$nz~;X&(pAAqc~XzI;2M{^F-LCm#}RT;GNCn)y`-Jit?g5M zF~VA46Jkq`_0sY*Eb~j`g7$GY376yv*=lIVq=NU;W+R~k*%7!;=S_ypa|v03lgDDh z>w7oDtvZeLfQCeGLMkbz&S9K-OY2H=^OVvk9_O;)pto5^1ge-|GO|w1|J7^ynAk|p zFdeX+S`NI6PT|0Z46NhD5$P59uM*bG&m4+<*^yCjSD_;ZV|+1cySfSQ(cNfgn8nM> zkgXf*?yA3k41Dd?RkZ0L8s$q>S};e})&K?> z6#U880Uy&lo8pTgz%wJqb`tS^(N@%R?@LLw-`L6;DM~5<*EjtMTHspxfrnPUk-a}Q z_M;;h{Y%b5@zNNRc(txKA_8DopE1|IIvwZbu8*9(>Azt3M^TS3!&20B#Ko&=n4*eO z5P(#Jy~8m!*D*!TQM%Y2yg-^KB{b=gm!KewlsKzv%Na|U<%{1~z7;rW;0<2ack@6K za;M0*ZS3}qc=(%SG*9wajjg`Uio-mPVsB41j#)g)jmL;X3KB|=ybbQY`^os+xs><52KPHwuT0|LcjP2+S^;yCS0ji-16?+skOD8DtmO7Ls?w{39<#ji#QmfdTJ``em=r%8|^Fgq| zH*1m4CyLIDzqWA7`ae3{c9W;PH^Agb4X^5)A5(Rdp*lfs5nG1T%F!!@e_jJ83i0^% zlG~8}^4q>2OU~97Jj4u@6S;Uv^4r%6$_=!iK6x`ljnF-How-nlLq4#n`@8fm{)#v1 zcu#hV;&E7Z32O%`eeWmtqSErt$_fB~+rxryxl1i%!TLCV(0wzjm~*>broi)SrMB4K zZYA4m^DNA}PSfZeDN8GOkv0vsmd{6N= z7Aak?ALyk>Qn|8$YyAA6zGGL^BiC-zEN-||TjvUl1Y-M-GHbez#(4hFt27BesTru> zoGET+Uz`pGgc$MEgTUy{T!ir~TG*H%-p`l>+cwd4RlE@$=y>!t9*8UQs&Y@k(P<$t zzxi9lJ;9+vinQ}l8rRD!js4{#y~d9VbStRNuA8b1qbIKZtr3^~)%Z!;2#v2=ljB)` z;v9qp1j>3)qNc5ZGpoSlW_PG;&exNiinxkxj%6;Uxt;0?D)w^SY44l1ZhueXJpa7s zf^<8Yxt4V>Myu_-WdGQC0(yUZHAvu6=1sBZJk^^ge`WGNHU0^V?go$PxPE$Gd#RDH z`gosBrzG*V=oHH{0Kq} z^8#7zBUV+7Is4dJsRZ4h1;F~dWwvR$o^SuPXxB%6(zg;6gnr`GCv&uz6PEwazGMEc zg!IK=H2-zN_EkkcemHL^w!YWH-AH-ecplZuL;G{^k7a|#Bf=oeW+&iuDM6Z$zvlh9Mdy^ryft;IHg=!X?_rk#VG)JX=E zJXJ+E;20qp_;J*!d-}Pd6xi=~QW;bl(^W5!SIZ@ji}p!&8qF|VCvyQ>w`3~ZXLpgK zyXRHnYO|&Hi-Z()_X> z_-EIU%#O|iqn%Gq(EiU-JeVz<;LvO7>RP)EgD&B02hq(cInkD>pjczw4lPKpu6EMF zC0BN@*|whty1w-YfsJ6t>teK`5igCwjbacv%F)2ofNl+1n-UkTSZQ%^>;|XEsCDN= z_EMqSAqAg`&`2`1IO{p0NKYK0U8B~QU~_PfcI|e9+wDEJI@^kDzk5yL0Yj=Rsr)V4 zM^J4@RRY%s1P;__Y~7b_b=D}KXYu2oun)P^d!{>3;Qa9ZJ;JKfGN9&fJCz$Z`k`G{ zaVvCKPq00A9>4W)%B1DioQ>!F!LuaBH{*g}W7ZPbFK*9;+zJ$a*1j%_?Q+?m$G!YL zH`Y?#(vw*drEr?9l6xb5v~^3>DmxnFr2XT!apAp>j;=vol!=1Uz9 z#KpIc34uu2uDdOIZN^T$sB1DKS50r)q4EgZrj^RBrd!9wry`!HjP`Zaz(`u>3flf^ z&~%<~GsCUA?^wpRr!W^vA92l4Tx*U^Q?{C0wnRFE3_B3pTTYuW#s1J6GBBxyReb2t z!p?b{uO@V8ou^ zchw~!82nk;Sbxw%$W73voT(?$8koibl!(+M!qV%_ln!#-pzmu7=X8!G>-ypp> z4*_f7QlK!){g9(TyqiJq@OE2dF(XQvHz_67VwJ{h1a5ixzKdXj#x77a`nY^7+EiO} zO`%$^niMTj|5#2=#Nn)WAeAE;lY;|$@jTGL6r0UaW%jGo%Ql8BdWf*Q&DHS#%9fPR zg5AXjpGX^U23wbvIGUhk+MJ6<^bT3d%$k0qC2I^ zH8rg$pn}y(ku|s7v>6ZqmMumEAUA#WO+aMxiG<3}v3$N7QCa+-%V$bbm*C?5WJA~KVF>OHciw;2==~;Zq^-qmh#z%s>h5)@J2A#{_ygh3y%dU`Jg%F zZP(w_Upw1)1SeIj=U|(Uks6bm@GERFHB=@SM}9!O&$33P_X&b&`aSBxMbD}+N*d|A zxun1+No+FSQ_Rc|?L%LOWdAd{sH_CG`|MMNr-S=pt}O(K7qJ3(Kgp>5jR67S8>IXO zypCy?^j2J?tL3*HPTJ_L6xSb6p}5vg%}C=6_8Ax3`C@y+#f)~UO>!Ib4L2tLJu6+; zi2Y|<%T?o(Q`awnrSr~6klVee$4W1aYvQ51d;(-IsT+S-(%CO2@b`Z0zrT190YCOnn;(wiBtehKc) zEl_~17GMMtrgAe`FoW~vIR!RW6#-%LAWk^1_d5llV+_|%BPF?YuvmX1z%d~Ajj?0q z4{}qX_RpUe`f1I@v~o>9lOXK-kN*xyncj?XM&uf zG3t%8(Q!}lJ(J!AL$Un9DC`Pt(4X@hF>MSx!M22ZH*g0qL%tu!0FGqS=Sjjw0U=Ezm7|7P z*R#$15~-!U$SZLvlax(z7&!(EvSNr^K|6E@9(slEorcVnQ3CoJb18Y4-`EX>liKuv zudgBAvM;1qa0LJpO=@F=0Q76H!i#g*nhYciHKY*A9sd?I_bv=Cj9`S83Dga7gdNA7 zS_A$Kaab$ycnjj)Nt@*2Tb-04y4`y5MfbRiVLNg%$9+`2l25i+1G-ry3V&{YtYUYQ zeHFtY8>Q8LVE47iv}r51*YVKbcn)=L>a>%WyD^gI{J$pMDq9EHf{h#d<)2@MI{P0W z?IC(A9R<&5xwBO4kXBV03%-ncE zLzI>Y_gUU6c;Z&7)_4T%;9Q0+V$%}p*dY4Y-oyt$A2NSA8se@M#k*vwdxcD4U&SwdPPFIib1!o5+kTP?!rh-#`j#(&-=9fJ4>b? z$>+0Ptk>*^P#>~HMzqxuCE`C_Jt>8((8L}Z@nQ+9C}EnW=#fj^8v0^VLse_xNt=X} zCp%A6;?9!=IB&tCyXPP22F0(yy+{4V^2&(Egm$%L5{u)8!l)vlxC9FM86vw%D^^2$ zEB)FC?Vv(QzbdiU`GwJAkzS=j(@onIvq47R!(y3t87yTifB6?sbG<2&uCzXZjZ!2- zUdu})#xTYpLah){EULv8Dw|2o$h2G=)wv;Mq8SG2YaM^ql9;{M;_k>#_>BxutV>gX zb2m%!e6ZZ-NxV9D5a2lxC}7y9;~#g&3ew$o>15(JbPMt11wq+MPQK0 zq$7iDXDU*-EOW3^d;lueC~uO**SaY1??|NADb`?jn^#>+O%)gYYsonRNxf-ByG@;; z1>4~=9+3>!TGaja@_2xB`dQ%T%1X+_8LF!H& zWKxWYRc z3n#39FtTB(8HuKT>Z;hmW^65NkF7+rvmLVPY=n}gLn#Mw7nje`bVrvJ&Gz{4;0m9m z>RAP7m^sa6lwPG+Q&3A(KmATcl=j~`we#OP z^-D5Y6dp6JLDac;^IkMa2tZ5U1m6}>Q#>_={;d)Uc-!Wpk#Q%8I8?fdG3D+XUK_r- zC0l9OC|m?pIYFl*94}9GWGKdkxyhs|z5b(YeCa95aO<3*5Z z(4e@{nL>QB0-3%}q1qVEOz!=6?;3EJFBSuLaKKT;xdZ_nH&%k4E?r(ghYID)ENGv5 zQgFiWTfAk%X!%9!>}^9I4HXB^{oxv=h)=GU+244C2fK{vJb!vjab|vHH}w?Bi4TmQ zd7cnR7qW)j`~LPMMy?<5_@-?Yci0xuPsKR9W=s=c?Fr2%%MUyxRjOv6?_gWX-cE#noW0r(7xAjCX%OT9uuOU|hTN*1!Bdc}UAe1DKc zP>p<>L6TMU+X^Fp`4mK_qXnR^K?L!8-i@u#G-M`92n!A0@GM*W6Q)IY+6B|umW7lY zo#Sk$uR|Uzx14oS{K1dfYA4yZl8mh(3bkkqqPr}>e`fe-i8{K&%fVQ#Fxm2>O&{Ef zugBk!n$U$P>zjgF9q~mO9ZBMY4`gG4D~wWMlJDXB{5?t5m0xM4Y-!wmjH8l_sNNge zG& zE}k1FC{e%1Wr&2HRFX3I#2{pzboZn|e^YyICd(ny?l|JF>Q9h9ndxr<@-;Fg)9uT? z(#L=Ze_P~VV(d-9I{lz&$Itn!5!Zf^s7Ee#h3B-+b?5n!uDwOF$Fi_M3*07Sr(*9D z-WrKz`VYutDr~oSex`slc`2Wzh1b{Ev9)={;$quI-r%-iOm_aRH^UX};<|XG+o+U( zYPYk0xJjX3!hEfX{1;=|9~0uk%Sro;w4@e8sB+qW>5_8bJs6JWp9@~o6^3DJtLR$X z=(a(4CYs_3Gp-fW1mBiYy77}4q>@p;duJ-_@S1&)T3PA}Hp>Z>qK7;I45>kycLkb& z_%tr*aQ)eF$2E2kfz+Z;UH0uUl2Q`p-9=)RdAjy`lgHV@wV z;htOo!i&)?Fg=gi{J=AA8}samPATg?*&4k2bi5ve75{pu%2yE8^~RnpLkHXyBmEe~ zfCzf!ak~BbgD?Sqmqk3I%-OWV6X;1;B$T!T)C*LVceDE~AC@$Cv+Jc)sZFT&W0mm17)jJ;j2`}#=D~9=Tav-7rU}xGa`(qQtUj>G zBRAUw@tVldse)dC4}I!2O+;B*0Us8nWjB#Frlh6BSSnN9wMpr^uEGUD<9O70p=*f|Y~=@#2X5x{fjQ{#x?&_a7pZo~^-p zIS@IkMdS<-1CYFvWmc`P8oUYF`kWP_CEk|G^f&5XeBtM5odvzk4T5Jg@n;JI$^;7awTkX*;=JzmO+nxex5qX0xXKYrYe?W`2F*nwO6xHe zrkCKXnb8}iXief<&eJ+45t^L~WhhGn54Cs)R`5Y$7+A!{U~Hxc#4Nk`*T5FgS0`Oy zQASI6NGh9~7unCIa7`LpES+pFf-r){i3OD1Hm)Q&pU&rD2uSX$&l+0Etf~!~5_Bj>*<;Z6UW;mBA(ulQl&4?b(y$y#&#?=*&k@ zqXN`k1Ugty^n>7U%(8D5MN2;OnbNSO#l3%#2@6D(URUV-y=Qit2!+QgKdUnmR$MTr@?`0QeT*+O}&)ZrR>9i6vtW~AlWt8X%B^<&B>x{MC~X^tdOMiuh&Wk!c#x6z`X zn5+fEV=96!o}X-tgA7ZI!W}8E+`nsCkkwK)U1rL2c$Fd zh?(gpIMfGxzgTs)qYjKui?@TtHg!+d&+ZtX&AKjF4;#KfkHM?O59-YN^e5)jP0miBkSWexvbR=QCTMurwZ8fKm3)UYNfJ1EzdO$f)l(A8(_43 z=P$rcu&__iM^2V1^)6S>V5N^$3TIO`&4335qSe}6&yoQ;qNtATZ@V}1r~JDR_1cni zyhU@r!BvHglP3%$gPo369vx`=_GH!A3N*3)WSx!tv#n(_T=buzn_uJGOSS{FSlW zF=LVoJ4-P1HGIhMF}lS%1;kp_fkW+B$6#_@{xMU-g-J8T;0FMZ!OS3O4Qqo+TBSJu zW*}0bO$66{L;3E>?HC-v#r*m)@NKqc6@E|GiAWY;C+(m5oTuzFCSFft5UAPHWemJ( z<33zz)=j>0PANVua%jm)|5;(J|1?~;e;RHFzeqLHgka?Bmsmw|R6>a0J^`nM(9B@Y zszb5!(If};$cJ_>T8byv6`i0?74+P3kPE88ML=bUB}nyBb0p=LL@g$+&jFTO%23M#hnCADd$H;1M3>Vc0diz0 zYqPKYaf8#K;_7EF2kE78gp9BIjAzq#{gu;5{nDR_A{-Z*z>7ysD|K!a2l(mK4suGd+rYXnL$~XIT-@2%!{u}5a#gObJ3N~tgzZG* z;?eaHBT=JY-|KCfDuz681bG8@LooZIDx20t?wX{GYFCk0kmHjxL{e;xES`RV>78`?w5b+|wz&Uzsaw>8-0H3M{t)$eAvRsW zXht=1zt6qQtVdR60QFqh%l_IGw}tATSRPo}Hd|Ujh)A+CftNqQ>a7u;G2XzkyCN&} zNBjS54HZO7&zYegNOaiJt5iQ3m9Nw@)JLH7-2FSM6a!|auMbcaI=j_PyKR$Jf4}6b zS$BkMR5?|KRr=cg!do1!mTbu|l5W{p4eMi5+@kn7oNPhfNt%3t zC$sjjnYJ+mJ}P$b_N*^W7r%Blo8MSPOOe-sQ!LSAA}>EDyMV%__D>&%>T>eyF?P>q zZJefR&%2`fG&V_ZPXCbiJfg5K;8C~VGO5Yqjq>+PczM9k;%;=F z;IiItj`L2AKIR75ckrzrv=<*D-;{4St6+OR203C@0TbMPGxYI+SiK1V4Q$dp>3(J4 z_+ucwZmFURfj+rvx*&&kRk~{ECNO<9a^`l1r?B4bfykwT@Tqe9KLgY$@fp42Dv5OPRINa@yW@0=#Ra|cuHE2>}6zH)sOSCg>2{fmpl1~e=4z< z-YpP$f&OQnfd4a3%meepZirAD8vCZp=pp9{d*lx_hus#H64Gn4tPt-FP0`oNh;#VL zUpr?W$)Eg)jF=K{a{GRTnCiJk&ZammzxPwI$y;St7R&q#ov9hiuM#F3e!x&iJOkVecg9Q*6-!R>I zOlp=8>4bMnNis;G)~V!#NWh4h@2eleD{@$Mqmo**sz!+}9(q1DIk@*EeqmdhMMt{+@$>Z%&>qgptV{! z)<)~B5i$o|4Q{||Bruwf);(R_cg+bfhgeg}=ZXV93pMrLEoH%x zA#}WGzBZ;C9pfK^74{tfp2ctqnNABAJFwMO8I@d76q_0g`q^gfeL-ll`w<$ebvEN? zxu%IsO44HO$ZJuh%c8fFH|;Z{La{K59b7Xn`zs+=s1&dvJ^gI>cWn$7&zWbzcL&bw z?<1k0G5>2geVm49OiagB0w`3Yuve~YSc%$b`dqTD=3lt52 zqJDG%uwJh$_m&DsI}8^qH&fmqxAsYg|bN{ z_T9P92ooF5XPaa2G0Mq0Q**_JskiZary}6|Hr_Yd)(w49uJn8(|KNWlaQAwv76t(a59G(lxxRIzQCk&T)N5cbKb6^~PPuOH46(9oLQa4AiB8e( z_m0w{`Jwt^SIYPZ1ZQ^fYe`933ony1p1Voc&W8bX|f^1=X{+ZrI(@ z*!YN{fAYrml#+XX6SQjlQY8IULn>`7h%8HdG(gCiFCgT#%GLEPFRHVL{Nwa8h>aZo_oPTqmO@H0^3HjVE4`*3#mtE~{{N8mUh!~#@AtPZ>PWQcM2iTb$6$tN z5iLGR^pfa_7EE-5Nc2vK-Xc=;UPov2L85nq5u%LIMtg4g{$J0@?;yu=aL>N>Ue{Xh z75<`ffNQRfJ4f&$+Eu)?G(P+7;`_xaAR61(^NbkjSbKWgVpmejCnYvsdt7$p>9)3_ zw#?B?IZ#qw+JKX;vMo3#@8dhag_G@bsJ2I58QW)ligm1NKVGnM(uE5m-VR%Pq@F=+ z0v#@-CwVZS6aJ>~`C-5Xy5tC3D{LWaJBTaIIE&WP81aY+C$u z*tP=3d|UH|fK}zY|DCGg|2tLxUyyJLdlYJW^Cu-=*;GG$^T$(M&VBro|4d*p1mHw@e>ET&Pe)qoGXZGWK0=H||CKN_7;W zGEFy)#YtI=#d{*>hi^idP42|;y|{~16V;5&t9wkxUBLcCK$EP55MNA#rv)wo=h^Uw zM&zw`?~fMJDJ0n^HIJ^_mh`F7Qpbl!hCNr%ER7ksKLy0pJf%}->(`e90BS*=wBDVN z56)%>y0gX%Kfgz$j1fK=!#1Z!+F0MBGd}z$+M$zujzx-+WMY&R+)mXOZ9K$oI$__0 z49W8GEzZP$J|+XQ3AMCY?|?_^R}Ukbr}22eHWfQp|8z7~Mx^>xaA^lqc~ANGDa9b? z-=vyBBY<``8A{ejYu>VpIQwcX%)vmf#O4I{u*x?7sF0?(U7%^GI-N2cv<`GglXj=F ze~VH(n$lkZ!D3u**t5BuSQ8*#R}Hl__B7eBj9x&wtabyUGYpEl8gI65F}Tahn#7 z&R_9*+v}4|wy<*mSkXl<(W^sM>-HsG<^}1m2@irO?WDHbgm@B8ahGlK zW-CO-@)9rDJQaU;k%#NUyS0x(1^$2a9iQYx>75%mT6>S5oVVvmPRRK8YV?woBdjxj ze|=Wdvx49#Mg)cjFpLbuuC`h^8e2}8cOMcVO02wsclXSetg94g4RkaK=$2G#QzN7w2h|Qx)KbrDEW=fi_z4e&{m*4WqsBAHBEf zPs(=w0r0on+Y775rDpfQyay`tSA*E^Na>N%&6PppAgzb_Wuz_Z`|3&;y6}_%ADzP+ zQ6y`j#v#}NBT3{3cl&-&jd?BRsKIl#xG_Roufnc8%(yuksxnA4Z&f^)%~=iGlMPs4 zk{ySR{6m#hq)>|bMZ3)@08KZ5_Z`h3C$NBAuXubNxJtC2{EO7D@ zMJ7yJ^gUpfvbQ#Y0sd1i2hp6!Gq+N`ovO zA>IO}E>T6m-6|~SH#v?{I8dH(5Cv;wjjDU$0ny!j-0c%JCWKb)5*2L0i}A5`x==W$ z*^K@s>kaXRW~fBurhGWuskkFiVB|KZC4|>4%$&`!m%^#{$DyoE_ zO&=TDTxM=jEFnH_Jp1M|++zSP7eNW&Z(pv6l!b6>@C1y8X>T2;X;;Dbn5*0-$=sdw zpcgP!51X@*v@6v58D-+Q!w8yqd>2?=XT`c!1+h!Gk^2&|fpl^c1}=(+xoMnhbrinO zi{`T_hz;SpccL>=?Jfh5f~{Uz#phCv`6t zInj^r>EmxodNzql!7Gk9Cah*+P+Ra9aKxhik{=K)+4sW->+!8?g7>H?iM_uj%902@ znfrzJba8lcE7Hd&A&+^48=5%udcxE6nI({1)277yjW;=%2~u)7f2m}4P+2tC3Tnjq zZ4%($nLgK2UIrF&^L&K1A;~1kG;fl|ZzU0}2(7whkX;30lXAWsh~2!_ObngN^W94}`lrQoD zd9x9wM)Vk>38>UZW^Bm*_&d6=!w);bsTdxa|ElDY!>^-}!purGVTlRP)_ILd8|MhQ zn}E|cH%cbqg(}70cnyb$!F=mafx&SzCr^3go82;4eT3joypWSi$8On$9b(TNg;UbM zJ~YkQS44io7&U=%J1p$@MSpLnkyW{jp%GG)vj00j+C`8xf# z-kC4SzB7O|hljbe>&3?rTs>bh9nWK;oWEVSHQ;^s-nx_hcY2AmcUSo`IVtRvaDpSQ z+3Zcrl6TvW&9<-}lQpOVSu-;|v8 zrwW$Oc5=Fw+>Ea6BJ;7i{7_FBB zf85pdAzW+f3bgcCdHpw43Se8fbZesiJ7V))84%76E3I6O+^jH;+#-~UTiW#x+r_eV zV{vMkN{b31_PMcMon+E_62?IZBS5CKNak}BO% zQArld2fvwwtwOH&I=uxtXmxXNLz3Y?tM+M;%e84*wGwBU7sKtOI-H>Vt^F2bv10j& zB=;lul-6mULk3~sYSoO>K`-Q};)UnrVY2A=2tSB%^B~w=k)PvZiQ7Nj!87gO74C1_ zC#(#{eZ7-?+TKOp=Hqrfe6vaOSQW5^MsW16m)`~I1*r_MI|ZULn~Bb7dby9O@6pU@ z^Z;|o4 z%QA6w;5B{yB8d;QshePJdmY3z`KiiveB4|r4o_4)%E7q+V1YKLo{;%6`l!Y|0sIzEIPH;j~Y zv7fY>*J@ve%u1Xh0Lb&u=Yu3gm2BG)2EV&-0rCdm=Ka;$9F_@q@MEsjGk@0mv&%;) zsLRX6%z;X-1QdzlP&}Lkzt$aJw)PBZHI)TNAC;u4>8%y{*vahNy18|MW-fR(npLp? zGENJ#RH*Kom9YGuGW-7jDYLAmpg+CSZTBevI(TRLhdyow1KsR`vM`+;+mIIb%CBkYD@*g2`L@l4T{UWEN0($ z7?057{12)GFg_L~HzMrg|AIOkXm!FeGig3SYjDj z0c46L)d;p8wXsCm2X+U-EF;h>e@Qr_V*Nr~1lE|;EYWmx*d&R_qPWLyHJ;%!yM5L> zg97r$ZHfLb++qa@UwkN8Vdp2!r}>BJmMQr<&{_VPubY1nqkzjnv(3+bm9=Y+ySssH zxUB+wF>5ftb%w-aUw0GbwABA{!5Gx{>v`w zVh2)Z3;SE$nZ53`aa;yZmydYK@!N)~Nr`8VUQajyb(nzI-@lsife{iky`w4a0i|trZb-M)qQ`SV&z6=}P#^*AWX&OhH zpo}QJL44TG9s&Fz2MY)vTJyg%{QMN4gT4Q(%B=M5+aMKl{Im7W=5s6ZpgC|ZagYE3 zJ~yfbMacR{>xA6-9dht6))l5cPv5?{EV-!SwKtni88$2W-1_1Xmp{!)t)`g%c0T>Z zs93EOo2lkMqNI)_nnLbTX!x^tH>N?#NM^P$NR@-H#h0e@T2|2G|41Teo((@bm6(vh z{?O6(7hD^hgBlDHiLCg>ij0Z<`C|h5?EYEJl`a(|?7Pxw*DZ?#ADO}lYH!HLZQDcc zOMk| z5+d!RKicM?TG90H9?xyYaN1p>IF#b_QC_`-0UCSS!Qwae2y&wctoc$q8apkgw3(qd zFtD|}Pl1n)9Ta^KDqBKT6$LoC5=ZB@FeiUvII$I%cVXSY_qN+hWmW3?(}c|o$T$Mp zWTM@JL@iNcp%WYP)t{YS6EZS{Y$5Y+%~?Td9ar@(r^NA-NK<=xg z-Ic(5dW;u(=+o+PU9H|`q*7~Jh(nllsUuU(4XL^zBzP<8U1(YL-P0*!!i85EK=5v% zN2V%!PNr_!eh=Va6doC$zH;ZpcutTyK83Svg-fp^WW~uOmht*@(9^k`XT;}3H#UW= zZfy!-=#Tv?y;&}jy8F8x&`z3{)?qZoeHRX6AetP0mZ?Lo>rEa#XFS`)H;=;O(li{PuZ6I5?=w* z}irO)#*OQ;qSYbfW$6%Wsc_qWN11rfdfDG{1*T0$6mCnwt&io7OnA8c;bcI z%&-}HM>eu#4CGwz&?efgmT~+;CNd|h<|wYm)uaw)v$=_9J z2dbs_*brH_hsxsL_a8MAwPD zw>B21S;jMcfMvieuHIbL%eM0A9rU%v@_jMmg@uVuYmpc_8}TVe-OCp6EB-jPZt-i$ znUFu#C_9ew`x}6AcetqiKbL&xq2Z{ul94B$y(OOLQnyFm5;#B*w)9L0u%T!K-vUhX zC#O&EEdZC{GQRQZ24xAI47RF!&Ec@FK6(yEp~pi+B$lS;gpa6S_7>(K*lgofMP1zn zdW&hnqq zB|f+2oZ0BAex)to{P2+gciHW9Le7 z*+rWqMb!y>%GTX+0HmKTO|n=CyyPgSXCsH2k=fo1t)N9!Qu*o74CXij=W00|i~CMS zr^VwA$?{2{&^a!p_Bx)nT}b3xiAcEFS1dTxE0^1IrO}WCQA;ft-;di&Is}>f(8ADZ zGtD1jon8WSAPl(rpKwaI=wwlGo7MU1vmAlsez)7K7j^0c`4D@r{BLNCii=Jnr6eLP z)JF0>_FR(#6Bb^t=5?Niml0mc4t#u*AZk2r?+*euI9EpJAdbaXqZzsHwAD25B}V`!6?LIU8#>U^`uO%IwFL9Ccy`gT+aqVd4eUy zm)Zo7@^xgLb59f(JLcWw=7~>s;3L^w;U!m7gtZylY>f;?l5Np0ls3gmth@#OE%}@r z4n87YsDLEA4)Uiu*`xIy1PkQ67h`m$-C{-1Z@sie7;`yfkKo$b~|14 zZRC;_(KPcq=BV42jzwi6zR73G{d5ocur{nS1JLH$0Rv6FfNY`vJ@HoB#CEE_3M(%g zx@k4YTG)zVKj@>O5~7HkOX>h>Oh0<1@J~4wySG<^+S+SdHN%L?Z$m^7G?m{TPENM_ znkK*NHpPv2$jr`~X%NoN+2t5(t5w60gE(^bFfnMU{@W z?=v_scHWmv{q@6+XtCFN{aew@k$>)suSE>JtE&%jUYjMiWyi~~?LQ*Cfmt`cpL#>| zc}xX+<7XecGiYL=&y2B?g4-;hlxGj;*#VRq2n{Hi>QU(^Ggi>}Y?~KzhsY`4hV5#^ zR=%n|(X~(P?d-rVil?#(H#AULSs{9>o=;?l*Rf0ma_)Q1iD9|mTxu+c+QFPUWfrag z2tF5_XeC8VJlk48nqaNNa~)N#M&5CjNJVDp)HbaLl@~VW55gEzORXRE3SH+T~RS|JvMp=$7>lP z8)k1Uao71q3U3bAoIh*U4k!~YWwn!Ha4Jh&CC|2ae{1@X?5CGDZ;PChkAfnDIyp>WK zl;djg)sPkXRNIO0Gp4S|e@T{glea)cYEccuT)g+;Wyru+e@o>fZTCpf_P(Se0W?E; zzmx0o?Q1|p)$2ukTk5vMPwOtKUR8)>mQK;IoXzy z#|yj`?BR1#5k;bpO2f_JE^ZcfE_wJISdt;`?&EEya+nN^D7@1Ic~B&e3xn`w*bJF1N^xoqnjL znnT!8uTwqjV2I_XV<&o=|FoN$uPK);LzaXXW0>egLV^)M$Dt`C9=j1`IH7KttHlRt zKQhEIao4kx2BcnVKcl2Kk#fK-fbXr*2u7nvc_ma@`H^n7iS)eG06(2mthgs;iy}pI z9=eH-EzxlS66CUC9K zr~2#8W^(C^S&uJV?08-GwhLy##`?)j=bG917YC=;n&Q@_V%!lJSImrUs(Cumb1@=Z z3>72rd~ig#<>hlY8!aW3e=UDErQj{p^y4a31nuW<$>xINH${4s0$y$40Dn(ZU8^Ir zp1R3uQ|j8nv6g-qVitILkfYaYPX92R$5OA`jt`#K6uJGPd^Hu?Mvi{s&L%tOFL^sH zdTDotJ!Lnv`Nv7Lbo%U*l$78H>}T-~-NHC{3WWt0<#!tP`HGYJp8xJ?OWa=G%72BaJ5 z)1I60UYT}>U@~R=Sa~2=#c8z@%W*dI^4I;)TzZBAZhP}navRw(0Y{b+zFj~9!UbM) zgRSqAGF$q)-MpOowvHpiPOBa`xfH5=Eb1@lAh%)6YD?GPsx1Aa^^qBoy{1yEVV4CL zt(rc0Lat`jNYDYAZ-54wHGzJvusPAzYJi_X?$>@F3VVmy#oB+GO@MCI#%$zOjcyfJ zT$j{u`akKoE;D)}_^mDZRNNB%0AGpxb(bac%Xg^du|m~^kxs*tZTjwLi|Qbq)T=d5 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 N$4?!5an$w7{{R%qyeI$w literal 0 HcmV?d00001 diff --git a/docs/src/index.md b/docs/src/index.md index bfed8d5..6e23214 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,2 +1,214 @@ -# Overview -DisjunctiveProgramming.jl +# DisjunctiveProgramming.jl +Generalized Disjunctive Programming (GDP) extension to JuMP, based on the GDP modeling paradigm described in [Perez and Grossmann, 2023](https://arxiv.org/abs/2303.04375). + +![](assets/logo.png) + +[![codecov](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl/graph/badge.svg?token=3FRPGMWF0J)](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl) +[![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/stable/) +[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/dev/) + +## Installation + +```julia +using Pkg +Pkg.add("DisjunctiveProgramming") +``` + +## Model + +A generalized disjunctive programming (GDP) model is created using `GDPModel()`, where the optimizer can be passed at model creation, along with other keyword arguments supported by JuMP Models. + +```julia +using DisjunctiveProgramming +using HiGHS + +model = GDPModel(HiGHS.Optimizer) +``` + +A `GDPModel` is a `JuMP Model` with a `GDPData` field in the model's `.ext` dictionary, which stores the following: + +- `Logical Variables`: Indicator variables used for the various disjuncts involved in the model's disjunctions. +- `Logical Constraints`: Selector (cardinality) or proposition (Boolean) constraints describing the relationships between the logical variables. +- `Disjunct Constraints`: Constraints associated with each disjunct in the model. +- `Disjunctions`: Disjunction constraints. +- `Solution Method`: The reformulation technique or solution method. Currently supported methods include Big-M, Hull, and Indicator Constraints. +- `Reformulation Variables`: List of JuMP variables created when reformulating a GDP model into a MIP model. +- `Reformulation Constraints`: List of constraints created when reformulating a GDP model into a MIP model. +- `Ready to Optimize`: Flag indicating if the model can be optimized. + +Additionally, the following mapping dictionaries are stored in `GDPData`: + +- `Indicator to Binary`: Maps the Logical variables to their respective reformulated Binary variables. +- `Indicator to Constraints`: Maps the Logical variables to the disjunct constraints associated with them. + +A GDP Model's `GDPData` can be accessed via: + +```julia +data = gdp_data(model) +``` + +## Logical Variables + +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: + +```julia +@variable(model, Y[1:3], Logical) +``` + +## Logical Constraints + +Two types of logical constraints are supported: + +1. `Selector` or cardinality constraints: A subset of Logical variables is passed and `Exactly`, `AtMost`, or `AtLeast` `n` of these is allowed to be `True`. These constraints are specified with the `func` $\in$ `set` notation in `MathOptInterface` in a `@constraint` JuMP macro. It is not assumed that disjunctions have an `Exactly(1)` constraint enforced on their disjuncts upon creation. This constraint must be explicitly specified. + + ```julia + @constraint(model, [Y[1], Y[2]] in Exactly(1)) + ``` + +2. `Proposition` or Boolean constraints: These describe the relationships between Logical variables via Boolean algebra. Supported logical operators include: + + - `∨` or `logical_or` (OR, typed with `\vee + tab`). + - `∧` or `logical_and` (AND, typed with `\wedge + tab`). + - `¬` or `logical_not` (NOT, typed with `\neg + tab`). + - `⟹` of `implies` (Implication, typed with `\Longrightarrow + tab`). + - `⇔` or `iff` (double implication or equivalence, typed with `\Leftrightarrow + tab`). + + The `@constraint` JuMP macro is used to create these constraints with the `IsTrue` set: + + ```julia + @constraint(model, (Y[1] ⟹ Y[2]) in IsTrue()) + ``` + + _Note_: The parenthesis in the example above around the implication clause are only required when the parent logical operator is `⟹` or `⇔` to avoid parsing errors. + + Logical propositions can be reformulated to IP constraints by automatic reformulation to [Conjunctive Normal Form](https://en.wikipedia.org/wiki/Conjunctive_normal_form). + +## Disjunctions + +Disjunctions are built by first defining the constraints associated with each disjunct. This is done via the `@constraint` JuMP macro with the extra `DisjunctConstraint` tag specifying the Logical variable associated with the constraint: + +```julia +@variable(model, x) +@constraint(model, x ≤ 100, DisjunctConstraint(Y[1])) +@constraint(model, x ≥ 200, DisjunctConstraint(Y[2])) +``` + +After all disjunct constraints associated with a disjunction have been defined, the disjunction is created with the `@disjunction` macro, where the disjunction is defined as a `Vector` of Logical variables associated with each disjunct: + +```julia +@disjunction(model, [Y[1], Y[2]]) +``` + +Disjunctions can be nested by passing an additional `DisjunctConstraint` tag. The Logical variable in the `DisjunctConstraint` tag specifies which disjunct, the nested disjunction belongs to: + +```julia +@disjunction(model, Y[1:2], DisjunctConstraint(Y[3])) +``` + +Empty disjuncts are supported in GDP models. When used, the only constraints enforced on the model when the empty disjunct is selected are the global constraints and any other disjunction constraints defined. + +## MIP Reformulations + +The following reformulation methods are currently supported: + +1. [Big-M](https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities#Big-M_Reformulation[1][2]): The `BigM` struct is created with the following optional arguments: + + - `value`: Big-M value to use. Default: `1e9`. Big-M values are currently global to the model. Constraint specific Big-M values can be supported in future releases. + - `tighten`: Boolean indicating if tightening the Big-M value should be attempted (currently supported only for linear disjunct constraints when variable bounds have been set or specified in the `variable_bounds` field). Default: `true`. + - `variable_bounds`: Dictionary specifying the lower and upper bounds for each `VariableRef` (e.g., `Dict(x => (lb, ub))`). Default: populate when calling the reformulation method. + +2. [Hull](https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities#Convex-Hull_Reformulation[1][2]): The `Hull` struct is created with the following optional arguments: + + - `value`: `ϵ` value to use when reformulating quadratic or nonlinear constraints via the perspective function proposed by [Furman, et al. [2020]](https://link.springer.com/article/10.1007/s10589-020-00176-0). Default: `1e-6`. `ϵ` values are currently global to the model. Constraint specific tolerances can be supported in future releases. + - `variable_bounds`: Dictionary specifying the lower and upper bounds for each `VariableRef` (e.g., `Dict(x => (lb, ub))`). Default: populate when calling the reformulation method. + +3. [Indicator](https://jump.dev/JuMP.jl/stable/manual/constraints/#Indicator-constraints): This method reformulates each disjunct constraint into an indicator constraint with the Boolean reformulation counterpart of the Logical variable used to define the disjunct constraint. + +## Release Notes + +Prior to `v0.4.0`, the package did not leverage the JuMP extension capabilities and was not as robust. For these earlier releases, refer to [Perez, Joshi, and Grossmann, 2023](https://arxiv.org/abs/2304.10492v1) and the following [JuliaCon 2022 Talk](https://www.youtube.com/watch?v=AMIrgTTfUkI). + +## Example + +The example below is from the [Cornell University Computational Optimization Open Textbook](https://optimization.cbe.cornell.edu/index.php?title=Disjunctive_inequalities#Big-M_Reformulation[1][2]). + +```julia +using DisjunctiveProgramming +using HiGHS + +m = GDPModel(HiGHS.Optimizer) +@variable(m, 0 ≤ x[1:2] ≤ 20) +@variable(m, Y[1:2], Logical) +@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) +@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) +@disjunction(m, Y) +@constraint(m, Y in Exactly(1)) #logical constraint +@objective(m, Max, sum(x)) +print(m) +# Max x[1] + x[2] +# Subject to +# x[1] ≥ 0 +# x[2] ≥ 0 +# x[1] ≤ 20 +# x[2] ≤ 20 + +## +optimize!(m, method = BigM(100, false)) #specify M value and disable M-tightening +print(m) +# Max x[1] + x[2] +# Subject to +# Y[1] + Y[2] = 1 +# x[1] - 100 Y[1] ≥ -98 +# x[2] - 100 Y[1] ≥ -95 +# x[1] - 100 Y[2] ≥ -92 +# x[2] - 100 Y[2] ≥ -90 +# x[1] + 100 Y[1] ≤ 106 +# x[2] + 100 Y[1] ≤ 109 +# x[1] + 100 Y[2] ≤ 111 +# x[2] + 100 Y[2] ≤ 115 +# x[1] ≥ 0 +# x[2] ≥ 0 +# x[1] ≤ 20 +# x[2] ≤ 20 +# Y[1] binary +# Y[2] binary + +## +optimize!(m, method = Hull()) +print(m) +# Max x[1] + x[2] +# Subject to +# -x[2] + x[2]_Y[1] + x[2]_Y[2] = 0 +# -x[1] + x[1]_Y[1] + x[1]_Y[2] = 0 +# Y[1] + Y[2] = 1 +# -2 Y[1] + x[1]_Y[1] ≥ 0 +# -5 Y[1] + x[2]_Y[1] ≥ 0 +# -8 Y[2] + x[1]_Y[2] ≥ 0 +# -10 Y[2] + x[2]_Y[2] ≥ 0 +# x[2]_Y[1]_lower_bound : -x[2]_Y[1] ≤ 0 +# x[2]_Y[1]_upper_bound : -20 Y[1] + x[2]_Y[1] ≤ 0 +# x[1]_Y[1]_lower_bound : -x[1]_Y[1] ≤ 0 +# x[1]_Y[1]_upper_bound : -20 Y[1] + x[1]_Y[1] ≤ 0 +# x[2]_Y[2]_lower_bound : -x[2]_Y[2] ≤ 0 +# x[2]_Y[2]_upper_bound : -20 Y[2] + x[2]_Y[2] ≤ 0 +# x[1]_Y[2]_lower_bound : -x[1]_Y[2] ≤ 0 +# x[1]_Y[2]_upper_bound : -20 Y[2] + x[1]_Y[2] ≤ 0 +# -6 Y[1] + x[1]_Y[1] ≤ 0 +# -9 Y[1] + x[2]_Y[1] ≤ 0 +# -11 Y[2] + x[1]_Y[2] ≤ 0 +# -15 Y[2] + x[2]_Y[2] ≤ 0 +# x[1] ≥ 0 +# x[2] ≥ 0 +# x[2]_Y[1] ≥ 0 +# x[1]_Y[1] ≥ 0 +# x[2]_Y[2] ≥ 0 +# x[1]_Y[2] ≥ 0 +# x[1] ≤ 20 +# x[2] ≤ 20 +# x[2]_Y[1] ≤ 20 +# x[1]_Y[1] ≤ 20 +# x[2]_Y[2] ≤ 20 +# x[1]_Y[2] ≤ 20 +# Y[1] binary +# Y[2] binary +``` From 40414046c57e42c45dcb28d871ec810fbd2a476f Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 13 Oct 2023 23:01:17 -0400 Subject: [PATCH 11/28] update refs --- README.md | 4 ++ docs/src/index.md | 4 ++ paper/paper.aux | 22 ++++----- paper/paper.bbl | 13 +++--- paper/paper.blg | 60 ++++++++++++------------ paper/paper.fdb_latexmk | 28 +++++------ paper/paper.log | 101 +++++++++++++++++++++++++++------------- paper/paper.pdf | Bin 349541 -> 349606 bytes paper/paper.synctex.gz | Bin 125856 -> 125422 bytes paper/paper.tex | 2 +- paper/ref.bib | 26 +++++------ 11 files changed, 149 insertions(+), 111 deletions(-) diff --git a/README.md b/README.md index a6c5037..5da7f91 100644 --- a/README.md +++ b/README.md @@ -212,3 +212,7 @@ print(m) # Y[1] binary # Y[2] binary ``` + +## Contributing +`DisjunctiveProgramming` is being actively developed and suggestions or other forms of contribution are encouraged. +There are many ways to contribute to this package. Feel free to create an issue to address questions or provide feedback. \ No newline at end of file diff --git a/docs/src/index.md b/docs/src/index.md index 6e23214..587725e 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -212,3 +212,7 @@ print(m) # Y[1] binary # Y[2] binary ``` + +## Contributing +`DisjunctiveProgramming` is being actively developed and suggestions or other forms of contribution are encouraged. +There are many ways to contribute to this package. Feel free to create an issue to address questions or provide feedback. \ No newline at end of file diff --git a/paper/paper.aux b/paper/paper.aux index 49e4e2a..4bf28f6 100644 --- a/paper/paper.aux +++ b/paper/paper.aux @@ -23,7 +23,6 @@ \citation{MATOVU2022107856} \citation{ZHOU202269} \citation{CHO2022841} -\citation{kim2022generalized} \citation{CHEN2022107616} \citation{chen2022pyomo} \citation{vecchietti1999logmip} @@ -114,11 +113,11 @@ \bibcite{bynum2021pyomo}{5} \bibcite{chen_grossmann_2019}{6} \bibcite{chen2022pyomo}{7} -\bibcite{CHEN2022107616}{8} \@writefile{toc}{\contentsline {section}{\numberline {4}Future Work}{5}{section.4}} \@writefile{toc}{\contentsline {section}{\numberline {5}Related Work}{5}{section.5}} \@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion}{5}{section.6}} \@writefile{toc}{\contentsline {section}{\numberline {7}References}{5}{section.7}} +\bibcite{CHEN2022107616}{8} \bibcite{CHO2022841}{9} \bibcite{dunning_huchette_lubin_2017}{10} \bibcite{E.Grossmann2009}{11} @@ -129,13 +128,12 @@ \bibcite{hart2011pyomo}{16} \bibcite{huangfu2018parallelizing}{17} \bibcite{jackson_sheridan_2005}{18} -\bibcite{kim2022generalized}{19} -\bibcite{kronqvist2022p}{20} -\bibcite{LEE20002125}{21} -\bibcite{MATOVU2022107856}{22} -\bibcite{NAVARROAMOROS201413}{23} -\bibcite{nemhauser_1999}{24} -\bibcite{TRESPALACIOS201598}{25} -\bibcite{trespalacios_grossmann_2016}{26} -\bibcite{vecchietti1999logmip}{27} -\bibcite{ZHOU202269}{28} +\bibcite{kronqvist2022p}{19} +\bibcite{LEE20002125}{20} +\bibcite{MATOVU2022107856}{21} +\bibcite{NAVARROAMOROS201413}{22} +\bibcite{nemhauser_1999}{23} +\bibcite{TRESPALACIOS201598}{24} +\bibcite{trespalacios_grossmann_2016}{25} +\bibcite{vecchietti1999logmip}{26} +\bibcite{ZHOU202269}{27} diff --git a/paper/paper.bbl b/paper/paper.bbl index 546c718..3b34be3 100644 --- a/paper/paper.bbl +++ b/paper/paper.bbl @@ -5,6 +5,7 @@ Anshul Agarwal. A novel minlp reformulation for nonlinear generalized disjunctive programming (gdp) problems. {\em arXiv preprint arXiv:1510.01791}, 2015. +\href{http://dx.doi.org/10.48550/arXiv.1510.01791}{doi:10.48550/arXiv.1510.01791}. \bibitem{agarwal2010automating} Ashish Agarwal, Sooraj Bhat, Alexander Gray, and Ignacio~E Grossmann. @@ -17,6 +18,7 @@ In {\em International Symposium on Practical Aspects of Declarative Languages}, Egon Balas. {\em Disjunctive programming}. Springer, 2018. +\href{http://dx.doi.org/10.1007/978-3-030-00148-3}{doi:10.1007/978-3-030-00148-3}. \bibitem{Bussieck2004} Michael~R. Bussieck and Alex Meeraus. @@ -30,6 +32,7 @@ Michael~L. Bynum, Gabriel~A. Hackebeil, William~E. Hart, Carl~D. Laird, Woodruff. {\em Pyomo--optimization modeling in python}, volume~67. Springer Science \& Business Media, third edition, 2021. +\href{http://dx.doi.org/10.1007/978-3-030-68928-5}{doi:10.1007/978-3-030-68928-5}. \bibitem{chen_grossmann_2019} Qi~Chen and Ignacio Grossmann. @@ -42,6 +45,7 @@ Qi~Chen, Emma~S Johnson, David~E Bernal, Romeo Valentin, Sunjeev Kale, Johnny Bates, John~D Siirola, and Ignacio~E Grossmann. Pyomo. gdp: an ecosystem for logic based modeling and optimization development. {\em Optimization and Engineering}, 23(1):607--642, 2022. +\href{http://dx.doi.org/10.1007/978-3-030-00148-3}{doi:10.1007/978-3-030-00148-3}. \bibitem{CHEN2022107616} Ying Chen, Yixin Ye, Zhihong Yuan, Ignacio~E. Grossmann, and Bingzhen Chen. @@ -116,18 +120,12 @@ Clause form conversions for boolean circuits. {\em Theory and Applications of Satisfiability Testing}, page 183–198, 2005. \href{http://dx.doi.org/10.1007/11527695\_15}{doi:10.1007/11527695\_15}. -\bibitem{kim2022generalized} -Donghun Kim. -Generalized disjunctive programming-based, mixed integer linear mpc formulation - for optimal operation of a district energy system for pv self-consumption and - grid decarbonization: Field implementation. -{\em International High Performance Buildings Conference}, 2022. - \bibitem{kronqvist2022p} Jan Kronqvist, Ruth Misener, and Calvin Tsay. P-split formulations: A class of intermediate formulations between big-m and convex hull for disjunctive constraints. {\em arXiv preprint arXiv:2202.05198}, 2022. +\href{http://dx.doi.org/10.48550/arXiv.2202.05198}{doi:10.48550/arXiv.2202.05198}. \bibitem{LEE20002125} Sangbum Lee and Ignacio~E. Grossmann. @@ -153,6 +151,7 @@ Integration of modular process simulators under the generalized disjunctive George~L. Nemhauser. {\em Integer and combinatorial optimization}. John Wiley and Sons, 1999. +\href{http://dx.doi.org/10.1002/9781118627372}{doi:10.1002/9781118627372}. \bibitem{TRESPALACIOS201598} Francisco Trespalacios and Ignacio~E. Grossmann. diff --git a/paper/paper.blg b/paper/paper.blg index 8771d04..6db484c 100644 --- a/paper/paper.blg +++ b/paper/paper.blg @@ -3,44 +3,44 @@ Capacity: max_strings=100000, hash_size=100000, hash_prime=85009 The top-level auxiliary file: paper.aux The style file: juliacon.bst Database file #1: ref.bib -You've used 28 entries, +You've used 27 entries, 2314 wiz_defined-function locations, - 722 strings with 10223 characters, -and the built_in function-call counts, 10922 in all, are: -= -- 1084 -> -- 512 + 723 strings with 10063 characters, +and the built_in function-call counts, 10799 in all, are: += -- 1074 +> -- 505 < -- 7 -+ -- 203 -- -- 172 -* -- 828 -:= -- 1790 -add.period$ -- 107 -call.type$ -- 28 -change.case$ -- 165 ++ -- 200 +- -- 170 +* -- 844 +:= -- 1761 +add.period$ -- 110 +call.type$ -- 27 +change.case$ -- 161 chr.to.int$ -- 0 -cite$ -- 28 -duplicate$ -- 422 -empty$ -- 858 -format.name$ -- 172 -if$ -- 2324 +cite$ -- 27 +duplicate$ -- 417 +empty$ -- 844 +format.name$ -- 170 +if$ -- 2296 int.to.chr$ -- 0 -int.to.str$ -- 28 -missing$ -- 33 -newline$ -- 164 -num.names$ -- 58 -pop$ -- 184 +int.to.str$ -- 27 +missing$ -- 32 +newline$ -- 165 +num.names$ -- 56 +pop$ -- 179 preamble$ -- 1 -purify$ -- 141 +purify$ -- 138 quote$ -- 0 -skip$ -- 286 +skip$ -- 272 stack$ -- 0 -substring$ -- 657 -swap$ -- 89 +substring$ -- 652 +swap$ -- 88 text.length$ -- 7 text.prefix$ -- 0 top$ -- 0 -type$ -- 102 +type$ -- 98 warning$ -- 0 -while$ -- 89 -width$ -- 30 -write$ -- 353 +while$ -- 87 +width$ -- 29 +write$ -- 355 diff --git a/paper/paper.fdb_latexmk b/paper/paper.fdb_latexmk index 67da880..59ccba9 100644 --- a/paper/paper.fdb_latexmk +++ b/paper/paper.fdb_latexmk @@ -1,16 +1,16 @@ # Fdb version 3 -["bibtex paper"] 1697250920 "paper.aux" "paper.bbl" "paper" 1697250951 +["bibtex paper"] 1697252440 "paper.aux" "paper.bbl" "paper" 1697252443 "./juliacon.bst" 1683852295 22186 2eaa317b2b3889daf19a84ad3db6071a "" - "paper.aux" 1697250951 7778 783b8297805b6c89c5268c63f92cff8c "" - "ref.bib" 1697250376 28213 f27abf9b9e09c1c9db1c5c5dd8185404 "" + "paper.aux" 1697252442 7715 822ea37fa57aa053d638df6ec355f458 "" + "ref.bib" 1697252439 27978 dce8ad984b85ef4eb1e3d1e6c104f8d5 "" (generated) - "paper.blg" "paper.bbl" -["pdflatex"] 1697250949 "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" "paper" 1697250951 + "paper.blg" +["pdflatex"] 1697252440 "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" "paper" 1697252443 "bib.tex" 1683852295 115 fb8dcbd9d4481bde59a06a28ec8a83ca "" "bigm.png" 1683852295 16157 24bd6e3bc27d995ac037e601c6fb5268 "" - "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux" 1697250951 7778 783b8297805b6c89c5268c63f92cff8c "" - "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" 1697250947 26547 11d3ac8565a495d864600f275910bc32 "" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux" 1697252442 7715 822ea37fa57aa053d638df6ec355f458 "" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" 1697252330 26527 6c90a7dae99ca500cb129e96fcdce6c8 "" "c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc" 1532704159 4850 80dc9bab7f31fb78a000ccfed0e27cab "" "c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1532703951 2971 def0b6c1f0b107b3b936def894055589 "" "c:/texlive/2018/texmf-dist/fonts/map/fontname/texfonts.map" 1532704303 3332 103109f5612ad95229751940c61aada0 "" @@ -148,16 +148,16 @@ "journal_dat.tex" 1683852295 156 e6e783a18daee23542a412a50a5ce4b0 "" "juliacon.cls" 1683852295 31320 600c1d13c17d8cd54504ceeaf65a3e1c "" "logojuliacon.pdf" 1683852295 4937 0cb75c4e65b0cf72a69c7716f140efe5 "" - "paper.aux" 1697250951 7778 783b8297805b6c89c5268c63f92cff8c "" - "paper.bbl" 1697250921 8236 ffd04e440fe56b7b73f83500d41489a8 "bibtex paper" - "paper.out" 1697250951 1369 1f68aa287eaf7868c2396c35550b552d "" - "paper.tex" 1697250947 26547 11d3ac8565a495d864600f275910bc32 "" + "paper.aux" 1697252442 7715 822ea37fa57aa053d638df6ec355f458 "" + "paper.bbl" 1697252440 8412 c5f25008db6df29972edfc95473a9694 "bibtex paper" + "paper.out" 1697252442 1369 1f68aa287eaf7868c2396c35550b552d "" + "paper.tex" 1697252330 26527 6c90a7dae99ca500cb129e96fcdce6c8 "" "solnspace.png" 1683852295 8537 21548aa816215210a45ef0cf5bc6a4c7 "" "superstructure_pfd.png" 1683852295 71484 ccb9c3d50ea30611d678638f05ee9cf0 "" (generated) - "paper.out" - "paper.log" "paper.aux" - "paper.pdf" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" + "paper.log" + "paper.out" + "paper.pdf" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.log" diff --git a/paper/paper.log b/paper/paper.log index f22a0cc..50dab84 100644 --- a/paper/paper.log +++ b/paper/paper.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2018.7.27) 13 OCT 2023 22:35 +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2018.7.27) 13 OCT 2023 23:00 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -590,14 +590,14 @@ Non-PDF special ignored! ] - + File: solnspace.png Graphic file (type png) Package pdftex.def Info: solnspace.png used on input line 103. (pdftex.def) Requested size: 231.26343pt x 173.44757pt. LaTeX Font Info: Font shape `U/lasy/b/n' in size <8> not available (Font) Font shape `U/lasy/m/n' tried instead on input line 104. - + File: bigm.png Graphic file (type png) Package pdftex.def Info: bigm.png used on input line 135. @@ -621,7 +621,7 @@ l.146 \end{equation} \fi \fi l.146 \end{equation} ] - + File: chr.png Graphic file (type png) Package pdftex.def Info: chr.png used on input line 174. @@ -649,7 +649,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 224--225 [][]\T1/cmtt/m/n/9 DisjunctiveProgramming.jl []\T1/ptm/m/n/9 pack-age and il-lus-trates its [] - + File: superstructure_pfd.png Graphic file (type png) Package pdftex.def Info: superstructure_pfd.png used on input line 241. @@ -701,11 +701,36 @@ Underfull \hbox (badness 10000) in paragraph at lines 350--351 Underfull \vbox (badness 2828) has occurred while \output is active [] (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/bib.tex (c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.bbl -Underfull \hbox (badness 6842) in paragraph at lines 35--39 +Underfull \hbox (badness 10000) in paragraph at lines 4--9 +[]\T1/ptm/m/n/9 Anshul Agar-wal. A novel minlp re-for-mu-la-tion for + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 4--9 +\T1/ptm/m/n/9 non-lin-ear gen-er-al-ized dis-junc-tive pro-gram-ming (gdp) + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 4--9 +\T1/ptm/m/n/9 prob-lems. \T1/ptm/m/it/9 arXiv preprint arXiv:1510.01791\T1/ptm/m/n/9 , 2015. + [] + + +Underfull \hbox (badness 3758) in paragraph at lines 18--22 +[]\T1/ptm/m/n/9 Egon Balas. \T1/ptm/m/it/9 Dis-junc-tive pro-gram-ming\T1/ptm/m/n/9 . Springer, 2018. + [] + + +Underfull \hbox (badness 6842) in paragraph at lines 38--42 []\T1/ptm/m/n/9 Qi Chen and Ig-na-cio Gross-mann. Mod-ern mod-el-ing [] +Underfull \hbox (badness 1168) in paragraph at lines 44--49 +\T1/ptm/m/n/9 Sun-jeev Kale, Johnny Bates, John D Si-irola, and Ig-na- + [] + + Overfull \vbox (2.39996pt too high) has occurred while \output is active [] @@ -714,97 +739,107 @@ Underfull \hbox (badness 10000) has occurred while \output is active [] [5] -Underfull \hbox (badness 5802) in paragraph at lines 69--73 +Underfull \hbox (badness 5802) in paragraph at lines 73--77 []\T1/ptm/m/n/9 Ignacio E. Gross-mann. \T1/ptm/m/it/9 Logic-based outer ap-prox-i-ma- [] -Underfull \hbox (badness 1590) in paragraph at lines 75--80 +Underfull \hbox (badness 1590) in paragraph at lines 79--84 []\T1/ptm/m/n/9 Kevin C. Fur-man, Nico-las W. Sawaya, and Ig-na-cio E. [] -Underfull \hbox (badness 6978) in paragraph at lines 82--87 +Underfull \hbox (badness 6978) in paragraph at lines 86--91 []\T1/ptm/m/n/9 Shashi Gowda, Yingbo Ma, Alessan-dro Cheli, Maja [] -Underfull \hbox (badness 2512) in paragraph at lines 82--87 +Underfull \hbox (badness 2512) in paragraph at lines 86--91 \T1/ptm/m/n/9 Gwó¹zd¹, Vi-ral B. Shah, Alan Edel-man, and Christo- [] -Underfull \hbox (badness 7308) in paragraph at lines 82--87 +Underfull \hbox (badness 7308) in paragraph at lines 86--91 \T1/ptm/m/n/9 pher Rack-auckas. High-performance symbolic-numerics [] -Underfull \hbox (badness 1168) in paragraph at lines 82--87 +Underfull \hbox (badness 1168) in paragraph at lines 86--91 \T1/ptm/m/n/9 via mul-ti-ple dis-patch. \T1/ptm/m/it/9 ACM Com-mun. Com-put. Al-ge-bra\T1/ptm/m/n/9 , [] -Underfull \hbox (badness 10000) in paragraph at lines 139--144 +Underfull \hbox (badness 10000) in paragraph at lines 137--142 []\T1/ptm/m/n/9 Fahad Ma-tovu, Shuhaimi Ma-hadzir, Rasel Ahmed, [] -Underfull \hbox (badness 10000) in paragraph at lines 139--144 +Underfull \hbox (badness 10000) in paragraph at lines 137--142 \T1/ptm/m/n/9 and Nor Erniza Mo-ham-mad Rozali. Syn-the-sis and [] -Underfull \hbox (badness 10000) in paragraph at lines 139--144 +Underfull \hbox (badness 10000) in paragraph at lines 137--142 \T1/ptm/m/n/9 op-ti-miza-tion of mul-ti-level re-frig-er-a-tion sys-tems us- [] -Underfull \hbox (badness 10000) in paragraph at lines 139--144 +Underfull \hbox (badness 10000) in paragraph at lines 137--142 \T1/ptm/m/n/9 ing gen-er-al-ized dis-junc-tive pro-gram-ming. \T1/ptm/m/it/9 Com-put- [] -Underfull \hbox (badness 10000) in paragraph at lines 139--144 +Underfull \hbox (badness 10000) in paragraph at lines 137--142 \T1/ptm/m/it/9 ers & Chem-i-cal En-gi-neer-ing\T1/ptm/m/n/9 , 163:107856, 2022. [] -Underfull \hbox (badness 3148) in paragraph at lines 146--151 +Underfull \hbox (badness 3148) in paragraph at lines 144--149 []\T1/ptm/m/n/9 Miguel A. Navarro-Amorós, Rubén Ruiz-Femenia, and [] -Underfull \hbox (badness 1496) in paragraph at lines 146--151 +Underfull \hbox (badness 1496) in paragraph at lines 144--149 \T1/ptm/m/n/9 José A. Ca-ballero. In-te-gra-tion of mod-u-lar pro-cess sim- [] -Underfull \hbox (badness 4229) in paragraph at lines 146--151 +Underfull \hbox (badness 4229) in paragraph at lines 144--149 \T1/ptm/m/n/9 u-la-tors un-der the gen-er-al-ized dis-junc-tive pro-gram-ming [] -Underfull \hbox (badness 10000) in paragraph at lines 146--151 +Underfull \hbox (badness 10000) in paragraph at lines 144--149 \T1/ptm/m/n/9 frame-work for the struc-tural flow-sheet op-ti-miza-tion. [] -Underfull \hbox (badness 5050) in paragraph at lines 146--151 +Underfull \hbox (badness 5050) in paragraph at lines 144--149 \T1/ptm/m/it/9 Com-put-ers & Chem-i-cal En-gi-neer-ing\T1/ptm/m/n/9 , 67:13--25, 2014. [] -Underfull \hbox (badness 2205) in paragraph at lines 158--162 +Underfull \hbox (badness 10000) in paragraph at lines 151--155 +[]\T1/ptm/m/n/9 George L. Nemhauser. \T1/ptm/m/it/9 In-te-ger and com-bi-na-to- + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 151--155 +\T1/ptm/m/it/9 rial op-ti-miza-tion\T1/ptm/m/n/9 . John Wi-ley and Sons, 1999. + [] + + +Underfull \hbox (badness 2205) in paragraph at lines 157--161 []\T1/ptm/m/n/9 Francisco Tres-pala-cios and Ig-na-cio E. Gross-mann. Im- [] -Underfull \hbox (badness 1454) in paragraph at lines 158--162 +Underfull \hbox (badness 1454) in paragraph at lines 157--161 \T1/ptm/m/n/9 grams. \T1/ptm/m/it/9 Com-put-ers & Chem-i-cal En-gi-neer-ing\T1/ptm/m/n/9 , 76:98--103, [] -Underfull \hbox (badness 1237) in paragraph at lines 164--168 +Underfull \hbox (badness 1237) in paragraph at lines 163--167 \T1/ptm/m/it/9 IN-FORMS Jour-nal on Com-put-ing\T1/ptm/m/n/9 , 28(2):209^^U222, 2016. [] @@ -828,18 +863,18 @@ Package rerunfilecheck Info: File `paper.out' has not changed. Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 380. ) Here is how much of TeX's memory you used: - 10234 strings out of 492646 - 140001 string characters out of 6133325 - 359730 words of memory out of 5000000 - 13801 multiletter control sequences out of 15000+600000 + 10232 strings out of 492646 + 139958 string characters out of 6133325 + 359689 words of memory out of 5000000 + 13800 multiletter control sequences out of 15000+600000 49036 words of font info for 110 fonts, out of 8000000 for 9000 1141 hyphenation exceptions out of 8191 40i,14n,44p,1244b,2610s stack positions out of 5000i,500n,10000p,200000b,80000s {c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}{c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf (6 pages, 349541 bytes). +Output written on c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf (6 pages, 349606 bytes). PDF statistics: - 431 PDF objects out of 1000 (max. 8388607) - 394 compressed objects within 4 object streams - 150 named destinations out of 1000 (max. 500000) + 436 PDF objects out of 1000 (max. 8388607) + 399 compressed objects within 4 object streams + 149 named destinations out of 1000 (max. 500000) 186 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/paper/paper.pdf b/paper/paper.pdf index d19db58fc101906c56a2a9437ade7ada0eef7382..57e295db25789582f479e1a09893cfc271b687e0 100644 GIT binary patch delta 39410 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 W(>DDr1Vn|&&o6+<#H6744)Z^-ciNl) delta 39274 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%0DWJ-r(A8W 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 J1x-c3e*joVG%NrB diff --git a/paper/paper.synctex.gz b/paper/paper.synctex.gz index fd632282a02c4b9e23720b00dc27b972abf5b310..4136ae52a007751d9e18ebf2d8c3ab736de5cd41 100644 GIT binary patch delta 67475 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 MU~3>dr*sJc03fXYy#N3J delta 67903 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
9ks;f!;_(TPvR9^I9VXUn%-ic!wlCzms%2 zGk*nFD2?vkSI3`S_b<$Inf$!7(vR>C zEBy%VYdv~@wtv=zm+_}EhP9^spSt#F2L_w%$y|Y-=#uf7 zY=IBwlL=}yK7C}qf~tC9@kPxBM@=#_!F#(h2bUI8@W->k22aff2i|rz7^?crY;e~q zJjRo=!CkAc!h32qxMZGX9~ zB3!Kgfv#qQ!RD9^u3SEdkteX#IPTv!)4@Z$+jQ^{?cJepN>2IjWVR z6-}==c0+q@`W-g!g7V#-EA~#Fuj6vR&b?ll3A`qi`s*70x>n1Lz+|h(3?`~|ADQ!@ z$wU2kIM>hW7kQjw@amsa;sX&Fk$;)jc{z_3|1C2N-PTr{)sMlXdg2b7?Aj^n>%eM- zywW1`#<#a!dDOiu;ap0toKBBkMx!7iRMy zIYgxn63%6>jN$oh;k!fWTc&|CVF=T)`GPijZ(uKdT#5aaTt05FrTKU(>wc7WXbhkG z=1samU%8qZ`dE~ods9LiP33Bv5PpJ}QusJePKJlD`1ZyWz;l0>fR1-M9J$oY>zsr0 z4*qTpzuGoMbyS4 zOf{zPdxwjfD)`&`@X`Mrt~KNQ@;A-xYV1xme8PNHn+k6aPv+|^oIn}3{bay8ytEf* zPWa)w8NPkwi^OMgM8h{9B)&D-^OA?e=UczYY5sh4tTu%hKE;dvh3~mtzQ};08(YWx z`gW7yJwyTBlO{esN9$eb(aO!EGS^)0*LgU*jJESxMxXJR-kgTH!^g~OlLqHbQF*0g zQsQCSV+pY+`~>sLHy$KB^Q1n5Ex`vda;*#e_Ij$z8qU-PQOn6JGVLhll|QqTS3Vaa z@R>(HFpHeRFMPyX$%7aGGZ4?_3Vh3(lb}Boe~aJMG$S#3s(*1z)RC1W&hsT$)iQi~ z5++C2lowK&_)y||rcgAxC3){A2BY!&=KDDgUx=yp{POnEmtlQHyGi)N$#;h*C*O{@ zn|%BCrzYR~Huy1~n0)Ws;1%98lke5C+@G3Pldouz`;)Iw7S+AG$@ly&Cf{H%dwOf1 zf1G?fx}1DZHqT7H5?k8#@%_Q%yT!XszFV}9TXs)Oz7zIh8XXPw?oUxICSTd~isMt0 z@4)7hoJ{Q=m_x&V%cMqXH|1fGOD6YgJf`00nR$N{(I-wGMRXH<>|gNlzN+z21fQCe z_0s z^}D~FQ{htV$tD$FVpHA4=f=*rXHwdWuo6!9C`?jyJ_>#m??cOMA&O6fUE!4;Ej5~h zH|3Pn2N?z+6Dn#lzLuJ{WY86Sh^kWQ_IkO7$B-}5bvSbp7^mQT3Wf{rQmpI(AD7-W z0u$ZwGLK|eTaLG?*fB>Muib2Fe_0D3y0wyw8OLCe^F|5}?a53brO2{xN#WO}dEN?f zNwtw@dQ|6?V%<{I1T7tp&GX3rrWl`{Gjr1(a9&(sh5-df7>4dv#e~Ehb9L7U%p1;K zcS(j8;5P71x-t5N6k~MH?1F~(D@&Jgk3ffafgX+f28MW8@-MW$vN@ zf3bmg{6Ie=sN(sEu*3g@(%^*o#>X!P4Fnora)c>rJ=I;*`>*qmQ9x0-uak za7>jvHgm$qT*-_-{wx+2?|AO0jSb6O9Yv7^v`IErkPW3u!NM~Le^)75>IiR|<1XNZ znWVigh7)xxW+z>BFgQiA^GtG*jg#zrOOF@Ah8>lS&8Ns56E>Bi$X={J4|bVp&Zj2t z_yzMy@TwT*595Wtb(>Y0~}a?nP#mvsZS_4dlB8 z8jdP3sk4If4dk4&Dn7>c0ba-irwtCQKL82Odu~VcwL*m;;Z_RItV7jgB?Y4)zKgYKa`kx(FvHx=Q`5dw z@M@qm%e}2OC(*dNfp_efv}wn*RMS#W-uX!OtUyZ|e{RActCbJlD>A;HZRh$mvN1Oz zR7x&;sX7|o@l!$&QFSo|a=W7{SbUOczCvMKp^qlI$Fj zmY0Dve;Im+M-sPWnJ4kewW)3+6|ERGJj4HwR>2XPANJ*1dHC>lU&13(kLLxPZ=ZYBH@>~ck%JNoku%>gf7yvO);a{cbKp(vf`%^#Bv+Vnc@$_l zn5)E^9Oz@@^K%p*+oXybt^?;x?B?# ze_7)F@RW8^@B$BXKuG~+eAid8E2c2c-APfBX)o7HcFaP{cP%8mLTTDXO$mpJgGLo! zxe-PGcUc>ropx=|T*+Xf`AUr>85_fARIW{PefOyutE%u3_+i49pgfp2Di} zLDrEt>S@GxYsA~8RTtL6pgK3P;aWSQ!y#|mxhMnSu&bjU1K#WLw{QL>quc8@fB&ET z=3lJ&=D)W~Q#Pd6-%&@VlE8u)m%l|r(95p3#2_ao{7QT|x8Tk%-!Z4RsZ(7R-)y^8 zVw+fBEy2Ed;o`!v@C#gc4P2R@djf+pox%^ql(=bdB0`xXpC09nSof9KZx3u<&@irJ z4={5vG4b#Lez^p{PMoZa6|7&Ze|h}%Yj}KBf&U|f{ z#{vFwfZ;Q?Z24C(&&653_H$*D8C3BB6oJimT~bomrKa{e+ZDSoOPDbdY~h|&8&sKl zIO@){pB?_{&X>RSo?m=B#u`ktiS3z+qkSDu(j`~BfC%}RGF?@Z4-)v}f8CC`Li4*E zM^V$j?PFos)N?qZM_OJqHOl@J?&(aPxRk-x=WwsaIq-9__m_Kos+rff4&(z0Kc26c z59n>K3K43;9lFk#o7a8O7n7Uet7tPL4=sfE;gVpK;h*w--3z1c{fdtVBR<>0RbT<- z=~Awb9?%y{=nc0TZZZcUe+s-Uv`JdmiLWp7V&Ih#bD0(96~1yp+?bg_TGr|ya!jGh zHJdAua~NRJuFJPA9t^V9*0Xx_I0YEqQdEs?c^NzD);@^fIz~PKC3wM`;X?)z%qNN4 zg4GqA5ev9U&ZFea#J$#SDwnw&ZJgv)+v1z5g#b@M*_bUOlY3jWe?~H#Na!^eF`LnD zs9mqyb;mFma9w0951}EPv3Zaj+Mc)rQUnyUAgpK>?6dK(I`+!G$J%Wf0wJ{^0ocU2 zmZ%`|Vvh7{*@dYXO%+gtk?=61gtpg?WHVSEM9Xp04%Q$-OeqOg5QUE&;tC%}5@7VBL1RcTFQ0RTQSe6iX!zW&z=jxZ z!6agGqF*M!iHnh{l9qcDd~C0SZ(-KZk5dcKoHiaomi&AuPaevX9S3vXDGvj^q>#^} zxNuzgYI4f`e_Im^P#YXi?+*6uU6@W%5)T(hl3KXGyC#XXG71qS$#T`etx4d+CnoL| zB-z13G8>W#LyKO$l4R!4cX3Tp0@tCOAc2l1Zk{elEM^@18I3c*JPcoq0%xZ1Pof0N z47t$RYZ0XrF$;w$vWYEkvA}X|@AoPDc!=` z#pj#CrZad%V8lmTPK8A*$sM`#CJvC3eVH1ZgpS1Bd(5t%jQJkH<-No(lRY?)g_RgAe|Fa*iOY9wj2pOT#^J@sja`0#b+gM4kh)z~ zXm{+gz+ERA)`-uOuMyWNhMz;c+UG8iwzlV&7aRDF;^hjuzn;0kwLH1suGO}~wc~Q; z(}gV=yj!BqmbzFz!BhwHw}(y5y!St#2X5vjxs$kjcR4$OTWy5TR8*U4xUkk;e@I^D zEKT{u*u6G`1TP1|6KKL(ceIVQK9%jUwZ1=&AEI5Y^@EYTzj95hRhtSR9|%efjgyEWpiA=Jw~TZ6gWr{MCfQ>!`aNz|D;N%3aisI;<@mZ+gS3gjY&hgsrH=E&*_x zKoE>aJ5Ub}Cm8;@&0&@Pw+WJrOLd@qGqV5kV}K$@)vprFqdt7URp9$3EuHB^YFfag7aQrHHr_MeV!9l_&#S|V^jD6EzTua zi65BVzi9rU1j`#>lZW!6e<^$kbN(WNkaJ$-GlD&{_w19(W|#0)a^Vf$-9TjEZ6cBJ z{h3hYfq(iK?;4CefAUaQh);wg!UdCG5!m`v+&&#FPky@krcN3FL-$hWubJ6fX zo?Aoe*fJ;?Ozx~A4VP6QOZT^beh`%G(5^wr4oe0lC*Bi5$%(uOFnSBU`x7*apyb-% zirq77HUoK^Pxvbe+-4KrSGK#(-t+SCD4;LWm|(bA-NAiQe@~eYcMI&wmrRqF*cEEX zYXB0vR-Vh0V9Q;5*zLL9Uu?ffQ`_ryNh5q2YS$K2@JCBNTfA;+9o_V4(0zB?P#kte zen0jb*QQn??@a9@yu;K!LK~)5Bi=K$8hbXi{VQfaK4iQwwVNinZ)%0ssQ%rV+Vi_G zwFqGm)8ETve>mIJ16!Kf!Q>fJE0E=&?w=o++8x@})b6mPsXg(YFtsQ0!ff^ydiN)2 z7N+*v;ELT-rdA=}Gqukac+b>cD|>7mBpN5L3K-xR86#{$1-_BO4b6^rE-N?=mwd84 z@Kg2hTu*Sf;D`ZYkk~cxzIK#g%hWNJ;o6l8hh_;YfBb?$>b!zmzQ7WckUS`zd1+7b zcRZ3;jl%cL7-^!y=LS#;S{`3{w96@cJ}bp^FcLrTbdt%kk0$uhNsD~J4KFj9K$v@} zf58k{=axAnf&GZguq-8sKAIAAO_@Bd=Bn{4!i1_@G9dtC_8*DQ1k}Fi(-?X$#GHD5 zdHd+gf3UKm-6Z_sEW5*#vuwxP&9Y;(J~PYSH@J`S#4P*3IdaIWDp zD?T(5HfcVv!tIjKfPc8bM|bpgxquR#QZ0f*1z)&mR z_Bg>eX}PYC$wy(s3>gh(-d;=t6Z4}Ek#|C9Y`Tb^_a|J{b-a8pM;*^&@(>0kz-I4H ze{|;CiFjx8z;4C(*8!ZFNPjS4!lH5`@~>k=ujjLf1Dq1Cs#(b^p|J{Q`Xw(kL*&hI z!3zr1a)}CX;R>2nC6~g5ELAdwwQW7MEV*({;iM&qG8aSBhRC*5gkDi`X_Xlgwq&%3 z?AEK`mU*I_^NJl4E43Ma%?{2FlWZz7fA6>iE6A+rWE{p!5GJJvB{D6cViyf>Z0ytk zx|&>=J`b`~Xc%^6d@hZ*houy-4F)l~tWMdq=Ra2sM}rY#9~ypa^MD&FzlbM?F8nRPH5U5tk@;gcp3j);k;x>PZN z7Hg|rHZle?svCIls^x)NcODZ7!{f+G3g({Xi7m;F+x@9%bsc7fH_xjge=Ck5U)+%m z8zQ6_Mq*|cG<;<|3Q9njd?$k?urcjtL*+fNn@a>g!J`M#$)vjvn5}*A3LCCc^Es~A zi5>z&_bWEMih3#XOCK-UJ14;h97*u$ff8NAI8u;GOqB^b-^3OU%|%!_Q85xF9zb- zB*mZkm}5{{fRP*E*H(qkj9tuVtnd?)r#U63f_MDF$X&NHoFM3MR`}5c+fKU(d}wjC zbG=?{;KLRadkyOM#Cv9jkFjT`4<4a3Vb)!<-Qg!L2DYV}bKu_MeqM&i2EI-lC33|iR|RGQ-U9cjvCLN>Ln zPjqCp48K7BIv)LCe~ZLk9Bd)eqt>IW4-H)T>Dn~-0=<%tF&80jt5x=;~o6n8h$RvFR4Bp@JzSEt2)0u zK9|fJnkU(-J6~Q36+zHm{jYXzq<3~Z<^aN=x+vPz@M=wn47(8XG2eu z(h6_icoUvks(JyPCPvHzQ^6e{e3{}v3MAo7%w6bguI%B!eoB1kGc%eAi^yas@U^)a zeldx~YdGJwe@QUG+9nn^V|RmgV5{M=!v0DweO+3iFGdL2_R7yzqQTokHDR(6A=OZ* zovY8SEgjS0z~M_-Nq@rk#`~^Zf|pxcTx@DoeL)&vpN49>0Q%?*6@jymtR-e@&L~7dJ5!{L29k!SI^2g7XQO z=&tJ+{YZKYV@GZ7(zPK`hM>nf*$zr7DXyKlChn=gOU+^)u|!=Exgh}~0U z05)6C?qQA{pJ8g2D_CEJe3aYcYH69fw>#jcJf|nkaET-M>TPdumLE+^Ih>|Ft`802 zEMFGUe_DNka0u62t5EqCgmVskm6;R)fgKZm%eBEJHlykGe!&g4oeQ_|2ln7H;5^2S23*XY z#DnW;7@~K)n+>bp>yluUkga{4Hk3#I>ADWgZ}(V(>9E=Em%W9R{-r zf06@pVV>W<+~7>T=Xmj7RQ-hCue#&O$5iL4k1iW3+vVQr_w&d{sYAc#+DyBdQwwx? z&MgVPO9rMv>Guj}{n0ZER=DbS^>g{6h}I1YghRNN^2npjzvYdJn3#GBX1atd52J3d zBj2I8z5Z}bV@c#{WAg+KJ7R0ddAUOdKKRps(QM0G7( zbrw|gauQQ-u0??P=A(^9%3ygte<#$c*l`24aOzmI^GpEaleBcS zDidIC>KtR>mc9}`7Q-n|!J+3dI*kvnuK27QA=`HOSc#SS3Q*eVndPHL$puBmT{L6N zj%*AzA;lPM6FUww^`UR0UB@6(?bPiU{BlF@IbAz?A5a1Qck7qVrSh4oe?CNbNYr!0XW%}BQ zFw7&p^d(Vk?~n&c)N*(GN#1KExdjJnTQnI*c1fGU=r-DFRdwwxWpGh&*qq{>SH-v* zg9%c)Q4DL8tLiu=CPWOif9pBRw5|xfl@yVuSEFttxFprNaAB9SIR`1CFReZ{@wt($ z{@9$U@|rAHZ%qulIv3`94obmnDRelTf>*v5!jU*X%hd@Y1SE8mg}e+XW=q!y2_c@@i* zB_#kH(3-Xap#Ck_qY$7Xe5iaK;R@ziP~RQ}xR$}QpsvLm%R(#?C|Suqr%{WFHPJ z4xnnGm_Kx0d2cjUT^28-OHzJo9>0F#&yLCXVgVkV!VwO|cwFoYShl`+d5jnQ8 zA&GLPq0Jkjwk5?$_DWQk06fO7l&ZLNIfE;k|1~=G%iaWk&|Bv`s+;8DEuWlGzOz;-$zJ2Bq*! zLT!v{Ky*1zh3;CA3$=XCMUlbzcYIBALsobixT-$JsHMv6I(Zs0S277-4JEFmqfMuw zqz-f5fBah>Gc5zX!x2RAJm(2N0?N#al$krK;0~K0zm9;?FwT*@QoCqhCti#vTpvqt zQ+Q-d5M|FTp|B&0xxLach+eG0-M@AYlZ+|?VQ4YBj>mB21*u#m5#Q#9Y#XAA(2&Qi zg#Z@bT!p)*;Fei4jFOD$zxh1trW7U;W3a2pf7BJD)o;x|?vlR8uh@Iy2`>b_upAR4M$ZGvCUDhoi`N zS&mN!Z=@)OE~r;z{jm0itS>W3;rl?I*M;ieOd`v+EVDnwBMBO`wXU@mw6%luK;Rvlu;wB#aOi5JWp)mE(h6qEHllCC$ z8BH^n)K4ltiV2}%IoTnb?)09@d9qgC+299`S|e{}_C zx=F2fFGb{v$j14NxCL``oxb)V9r!A>*~nG7oRg~*fZP0hNmerB%NfaTo0*U2w1*ZY z8Rmr&O4>-?-U4>PDl!)lZ}_q+%~433l<3>%)Iid#p1S* zGqMrJB$rywBwc*Um>hjj@XQPle{-YtK?cjwa)pcH3lDahx@(nltX;_@d^rZu3vjj{ zjzOk&0<@#I4Pfq}z~Q1_)xj^9;Qc-34f8(MZ;wjpR{mt#Q{#?^?=LjefrWyZn0R%a_}iws?m~f4hI_6cK?e zuT2gL=Gwg(Ykp4NVqT9YS%^)*r*MTzvMZLkY?Ff1e{7an z!Xw5JN2!3fYmi*S)gSl*RT%nzedkz7 z-f2;M%Un=3M^9hS_+8_{e+Ds?u+bbt^Vb&55ld_@HL4HEmB@o4>O@YJ%DsbV;F z73#^l7+$a9?u#Vj0l-WXAjn>BKJQFzLq;KP5@8I?z;{-&hC|`PT$NW{DxS(p`^xaB zQeb)kSsQrs7`7Zn>+0z5_v*u2Ej2FsfMImGEyBqVrtc>qg7q}1 zw8y9j`G9W zO6APl#rIqzS}8;afwSX*KCF?6y!kYbfM$nEC?Olk+{LsYI^6CSc4obTaKEd{xeJ5JJ zTa&EOgqevHe@fUB)|y>dRIYF!yM5&fUotg|%8ey6^)8=M0Z-j48gtXeB#329*nu3XU)=c)FLO7;a8P z4&8Mz8K$&OpT}5ZwjwT0uE`42x6&;ZWQf=4b#BQjf94+A7a@GR6H-%D{4fuAW7(x^ zhCCu4cr{lM63>{b2w!Zz503c7a94DEc&R?{z4B02Xt`G$D98eC_~a|1Ao z&yhF(_PsJ!gziQ7@`cCswuEh6&rR*{V)x;kmtnK3(?!wQX={X=Cg*MfkD@9YbaC4%Q-_bq($=;<-HU}9!H@18DL=#R9B$#@#&~4Fk*>p+axE*Mi`Rtxc7#Pxj|Y;Dx|1959pF&XSpWI z$Hh1N_<{&TSrPIQj@c8o>t?wsNh~u4nMKXGdd|1Y1;>dHdJ|mM9C;I?E#Cfe2;tT16HQ~@EE`&p=*uP<{A#XKW4LC0@Ik0YgP>j80R2)s$ zHp&1Al0a~GcPBUm5AN-Y*HPAT`!*e^jMe#x=6Avh3CyPEB=N$tHYWw-|N zleuu^^j@=^vhN$cy>5@qEeRIombGhx44O&`iZSMeGdAu{g!uT)lGrX0$NMNxS0H^$ z53d*4iA@tYZe9%k##r&-{=_( zn8P&r#z^t(O1eR6h*DV;fksZDZZFL+i|8R2 zF=RJ zlcBNTm`FuVZV+keRyRXPD+l+|_ssqigYXE&UT`0nydo3AsMYPz%7X}5f$<7nNnZjD zU~`zw5{ek=vCG)T)5qRyQIl4m_w(wzjebBO*UjoH;#-NT!RB>jMsQfYGnw9e*l2B;0^w1w~GPumrvIuqhQNOru5H4bo zd`J7HVjlcqoMlC~yk;<2A6q9nwaHWRdi!nmk}T(K=B~(%i($Yx>g^*8CZgLUdJ2m4 z=Z3KIpW|gj^UFf_J6FCv>|^Qd^w~I_w8b`Ky~~EF1U&RLG7=^Cv13%29XA~M9Q6`r zRwYYFkmgs`wl|)gO?iX%@k>Y+oakB9t4L?H5niKVjr2hXnh8wD^y@n0yk=2eAw2t_ zjH9b<&g$CLFKo5!LFIPZqwcm}{}LkZYx61``&YvpDjfM=4EuWy{JOsIC46r_n04?c zQf!CAnsI+E7^}gXF9kKvceT9rq*juv;k}mOA!IPE_NQkv8lp|v5J!j+y}kKGo@#?A zZ2XCNzQ0~(HEYF?N|)<>@qx!r(;KE1WOk!s<&q6wQ%R z+=}CSCZAxYb&G3_M>4i zy|1!qsAL_Oua-aU@Z;lnm2!F$%?S6#cnqnu zs=*!VLV}~m(O!`zM(2j!JTkA&5z1?jMYq~|S?1!S!G5Q4q^%ZKXXdzWc1DGXt&G`1 zH?Uph-b+Eg5UjoWWrA2cT1)KhhgKm--N%;Sb#I5p%j}k?G7--hFR#YS*r*6nvQ=x` zG#oyCXWlc-C~x`gU@{y3%5aV@;w#kitM(lbqj-e%=M^>gq9^3))-q}coRXUpoim@o zKYiND-7cM7#jV3?TSq8D_0&>+hvRYBt2bGE)zFyVQsUO}VND6Hq|sC7#y^K50==?l*j=^j9{-k^Rm7gD}5;it4o>NxAdPY6X(pyR~Mh-M@|3yq$7 z91#jVRGLR^Sj!ipeniQ)PF@KRb%22t-t)TURiyMlGxCxX7X7(8GeB)5d$+aC#uw3N zD`uFmJ5m{>B%j;Ev*FFWnh#QgU^Ntf?o^S|&1b(~ZQPIfZeE!34qxUrfoaaFV$JAFrU_<>-2y-7Q$uj=6ZnPEw8DC{Enjpb|i{2K3*a*C1cg|a;< znt_}Z*c1nIj{MgtJ&y(aY4Y;m;>Uuf=w4%YR$3v{>+CXO>)_HIhlhGD$T-n~2C(4^ zb5I?G*zw^l@f;Rp#we^PUdJH)Z?iq}y)z+f z%37Khk*`#q*4TiGX zL-gBPpQ%PHovRfdL%klyk#L6mgY-y=m`&L*ghYdlk$PmSOb==*Y0Tu`-VhzFLD3^r z7(Nr6@*jmolv)w#(wfBk;< zD6w#uaQsMB>n|xkPq$1;Sn$1CL~F$+lcEm&*uTJzPi1LTdWI>Jg~RAdj5H-y(Nai! zZscAVcgIe*M^%Ug>GPp0p~qUTacP>B=lcE*ygKSwAr77-59c*s+6m&S6b%D1JA|jk zdWc>q#%NtpGYlDR8&XkE;Yv*gU6zj5?{n#0|I_o-4BzsgpVt?(LOmAtuq(AY9PSoE z=Y*h1M9(wz`*h1e<~!$obr|*W z;_O2~@OB^JJMr2TTOy2_`6jrS{Ozp4&E@C;5>t<3V0Xg}E~KFC0g2gSITC%%er7cm z=5%okIV4z&E5Cgw7~0s#p!43x@R#55E{WBO%P_+F=}y%YR}$`;j}Ww0j*Nf%tLNbt z9JrjJSl1fG30j}1Fnwk7{LjPqqmJemsv&YN<2M5MztmOR>SxNBAR{LROB+D`r(7B)g9z1ca_eDE-`V^ zR`U%X+l;G3gv52~^Jde07`9o(GS7m=4__VjGJ=8hGfharod1RCG*<1&(gEKgmy&KTCK)CQc^6xRiEl1v8LN%w}bCnj&(84MmD zl~{4E^qei*H?}3GW}ZV&lX-{)^pYz9Uh%H1%`%o} zr{@Ti7Yn%2gQDjEWgF*Hkv!DgLEDoN&mu|5MLG1mNB3)3;)zQSdE$w zkw{5K3~^oBGL2N1ZC{OfJf+;t!;pa_yFV~k;cjEM_Zj6I^x4CIizwU>RF+6)_s)&8 z=u8wRY>+GoOApZN8wKgB49IL?rsk1y$~0J2oWNqrNyOqt$_3K1X8#oM{9Xi-}y|THOQJK!dcBU_*%Fc*{ zgEd~3i$8Q`qeMETx8gYQ&g6?*>#rOoXeK8D^@lr97JV>B_}*?H@SLKmg=m)<^@qu*kdA~b4fLXOAN{w?nY$?3RX^`rnRSMT`{0QY zQc+cYzh^pH>5qZ93ozh_NjuxtVnld-a&bq5hgO(1Zx7IqL`h-;ucpQ{LD97e2h4H> zh*9fa&7h5C&lfq^GjuvFl?}-cFmEMQ2#s231snAH|GYO37#^BDcyE5geqt~STA`6D zC%hRC?>9n?Mo379R)2@{`(@pzgmE4IY{OW{>UxZRBmVk_VakjnC1<{$j(3q#G&t@D zO9`1fh;(qoC1NZjU}Dh~eqD1Af_ZKd40%|mEZ@BhsAn#b{&w%;B{4rznj5`aSJ1{> zg0fk^hZ6Mf7sS{!h&O-OuzRTvd_QJ}C!D(}=^j8j#~9Qap}+m+G8W^pHFAF4!p~0` zHce9!*4Eu&bi0-|`w(q(`&cj-{ga~(r85^Tt8QblK@I-=`{EsQUISO)plH~nVtT&m)~*{a`qxDs z+}>!h@fZn~@bvBkqN0NnGUniSDv(e|`qtlKXL1Sx+%nm_b@aD?R$OZ+({gKFva4B) zb-+ky7ui~EVwEw>=P=#wj^)p9>HLA{QC>z^piH^HpVihMe{0u1N1%hD}-LKR5^nuBA;x^ zejEXLO5jhPyHIwi$>VtrvVRV!v9E-aGfX1fM)Z!P*U$1bmdqc0!1JDl@^!*&+4pB2 zM<47D*X$@JLKJMXvlp~-xcb(!&mEBFJ2#~}Da37V%pD_OdjM5(9Pk&j|0f-s}Xuv7fB&(F^( zq~P-W;tj~RyKhBxQR)K0(j)JBwGRE+<6ISEzqHD9-c)Gr0ZYDi%#a=EEU3_J>-vu3PpGqi2~9QQ?i*3>LJ>zH`JhYe;`!lR;f%?l~S7CT5QN zzoy`%MAWtSq7Ope(iKnC5SuwJT6zy~Foa|^Oq zqp+hDaiR8pKY&XhuZ^|sRlCa}Ceu~-(03;JP(s!s8?6JWnMehz>!J_M)sVqc2Z>Uox$Qf535lBC6yWS4gM6YJ29172G5~Yi1^p@{33W6hRaooJKLNK1TPL~^eP4-@iTN18@w!cXL z#=O4)Auh{y3hZn6*94{RZRS_Ydi*BGAl`!6PmVc}CLS~^1BwUX=Yw4B7?vt#-;Pm_ zT}(M=mqGBml+pRGPY;p`Ugri9lyo3Z6yoR|^y`yB){kLHgKFS$j2^S95)W&pzDX=* zhIf^NI7WQe$k~?jC@xQ-DN2G1xky_z7vVT;K7E>R!U6|$DoT0VBdhFOFqK9 zkFh~9g!l6b0u1Lu;Z?@#u$|0bowcJxQ4f`*gk?RkQkcUgYqs6ZBtsiW3!hk^OaiyI zqh1I)-skrR-k>^ z*5q>k=g01WIsYE}fgDw=LBxdQh$^}YR|e=W+>F31<#E~}W*EfsH1B9I?f44RY4jt8 zZkD!;#LQzrQc$1Qc{&^6&25f8q6Nc66`1TB1=kzn=aA_`je@7w-{!^G5k6QlNUy3> zL%uTKuck@IVt*XfME4>L%zPe8QU()gQYg?d>PBjM-tnGDzG7i1cRand;Noc_CPR)2 zmwZPbp3e4XN^p=**vhDKRQg=xN1^TE@2{`Hr5?7!)}502vT`&RD*DQFi(tdskzz{B zb$Nev=H=o1@R|uTj}kuD<3rK*>1HDfNR%d$k!=kN zHLHnmCf>B%?qVwRdf(_I!|4BR(>T#E4cC7n?$j_ff)r7gI($5jJPcW1!OKZJJ^-Wd;u6_e1j z<_7c$$1>;(L68Wme@5CaC3M`25E9N1KPJ6dMQHduI#p+oE*~cUB&jpGnkQH;V|()I z=WI;{l1ZP6E$yiOD}LAA>blVeDa>TL5)!@RAl|5-UpqiE`T@Q+FyW{X#UD?P&fKkS zkc}@IKk|^6|Dc)owBImCP}S~*53ZV(;iIPaAr4P=^I)+l|i$j9VWd9~?i zUVn1qxq893qD@0e{??BvBp)UWk5}Db!lfKZZU06qb1g0@V&QgMqTv?M^x_Dl_|T57 z=)b-?3(~4=mqLjP4&YitfU)ErIh@^U;B16r*@8y+U{GW@Ucevule2`tc^amV-`cUv z6V~IC*@(e@ula3&SisIq18w)gLGVl%-rVM3hc5e&OH#Er47Nf7X^jn?HRcY6-izXG zHxkUam{O@*hqp+@tSuh+Vc9Fao(qD@t-F;Y_%NON>6;~sv7y@bmFw%|K|aZ>am>Xoz=FdfoHepvz(s~1J7sLC6Quh10u^P z6FW*}Ul&wI+)Hr6YltV;<93yJpS;c{%+5%^ zZHazvy#W%`pWFG9*)u(qCxO(b9L}1%fo-HlZfx@ciuYST?UkH~`XC(=v!V$J)$NBBTdn49p$(5NokV4ELe@5PT3Ast$35_-xYv`BF3v4p~NR zotVsZ*5564ty3CdPz}Y`@2%BNE!+Ger*A86 z@LBRDR5rdBEd`lxpnc&k8<7r}KAN{R{FvoWs~2a=PiwW9UYFijZ&k_Xbg@Z`1RE*@ zNCjoJbFkaVywbR$r<4J2?Yf5Uij+j{cQBtZ0zG>kWiyYEg9Yl0r6QhGJ`qOX_wT_;? zxhRCtsAN*~5+-~k)asTv0Iv@9>Tca6v2B~igLy_|a4!74MH;F4*M7&Ie1WomAqM3^ zmA>F`;kkKxT3*p9&OwVPV9AeeC9fSxa&KIIHGR^2&=Sh0yP(TGv!!|++1C zE2hx!08RTsi{T#u)7TPCr6kJz<$@8oq`!do>DvkaiZ4H z?S)bWuz+@&D$WC#9pdA5Jag^RIS%|cHFqKR(Lv8AdpDGK0n**$Y0@LOuj_` zV?78`h1$W-T<7t}e)(wOod67c)~6~sHag^HuZu7FIDBO03Zg6|L)`BAs?6_Xn!y_NF4eQOa)?ql7~>eIf4$L*^^x(w~h6FYpr3`cP`xk-)Ei8*xHE9tH^*3u1j&4bbztj!Zn5)d?Vp8YQl) z#r1N8>oIqMg2M0+;AizXhoHSsvM_pN`UsB-6_~deo-fRwgznRo*xgc(?Dv9@X#^^pAOAZq7y2z+5;4U@z~MM3 z1`NFmmjksxB_o(X`cRjMUaV#p-}ZP7T#qi5(PbR!sH*P*{_0TKNGM1Xx)w=CAhT5} z^5HsgYiURt#AakN>kiYNd-Po$G>8u+i`s(y=nRFA7Q()^6> zEi?CnYDUYzS}fM)MI(yKX+(=Rt=T+0YkQ|;kGT*j*cm-{e_)~TFLPLBZO#sEyXY?$ zV=f+uj>=B`g>OEwfQ0vSvR9zhNSUyoS-Fz-MWTNsl!96XqmNRh_HuGs41$Dm^~dOR z>FB4adg)R(W3mtF`K0j4x?yKu-N5l*8n2RvzGT=pL}_M{1ZO`d2rVG@KN2Us(;Bb_ z`B-{}W_rXLmxJ8jS1`yMck8uSgRH-qvDFX8-BbK+j8P2sbAuCt(7X{Rb9i`Acu4bF z4KhAdxny<0hdj#S8)4j@m!s@AN=Ej*%;Q&Jx}POzTfxlxAhn_{u}7%q_h^ zCLf(~M?A|r=%&r7o^b-_#l@Jx8vMfQmUroRMU|bnlkLxmFPN;F;7w0Y-E357OmeBHp8$8=SRYstUcWaQF{*p(Foe%Zdf zNKW0;9(_p{-{U?MG&$yJ9MO51!1j%vAr3%~Q^ELq>OV*Nwk+%JsxwrkuZYGi8gam9 z2aww?{h2;Yob=CLE>czRUAXq1z$rqv6>tS)A;+yIH03zc6h9`j7L3D>q_m{8pT!*< zTMEe5h@Rj%W=Pn`W;1$_gxvbyfAIt@Z!4c=_M`?pMHH!n6WP~tdXP<{dI&>wb|>eL z)T6}9?(F)%bGZ)OZRe8tr9Z6u*TPf{6+;Gy_UewcGug?LxI;OKvgL-9TAEq&aT!Va z^?S#D>6CRMIuz<4+U@Be%CPS82Kls+^tamZ=5xC0l0#ReVSE#D;|AvaE{@N~PtC6y zwafQff4oX7-Nx~8?0$0cXfkNb?S{0xa-Vf*=@q_IyjvDtvQ}^1##vFtGiW@)S=su& ze7T9^gQ?d1%5z7saYJ2n7e_wX^z542(FY&hq08Qj!S`;qC7MJ|pk#>l@_dtNjO(r- zv6N2XNp>zgB4t$!ga-kv9LoBYSD}3s78D75EpaoznR0*q=O zi=6(yiug~{R$9c+2i4WCllO+gs^W809CE>_7J;$E{}$>NsUb45IlxI1(PLc=#e2nz zsT5^mN&X%wMPs00fsB1rf^91tT9KwgnqW(6=rACSuV{!zYZACv z{0`Hr724wvo&%i>p2S2zSXT>8U54hO9~psRR;RtBao|3zrU55ND9w$sJ3&N@1C*QuO7526&6TQ z-!&d}B-}ba&xI^8w`aJw&BWy0d?vtlysP|-B{l!J)v>e*7~yV*7rNSg<)HaiMGG8p$T|+BigTrz+9loB}-M{8piCl^1hZOks-CW2IT49f6 zZ9Y7FUxicJ+tzKSgm4)!YKhHgoZ{wTON^Cijhb__Kr=3E3~96|RKIOUh9R5s-Mafj ze<5bq-9rOui>ioD58jlM$5iEfu#~kvCpMv1XvauCPUt`^Cu30X)9EG)4;0S3!DG}W zsI)$>4au-RzmTUJo8z}WZ}a->+@rcL|2ybndPnU}Gu;RD1Q{QBqTd}v5Gksg*@0X| z^d1!sK}CFcVhx7-9L)QMa@Kc={ zz;jX{<7y8dp-LT?+0#2SC%wTAnL^Fq3{k^9*rOY&4z=)b7x8`^NBhJp430ETWdAdL zIUB;xheLRP|MCI%o(N4?zITxgy5qBhqxGc?(i0A0ZpWmjEgCW^oxaS9;<^inz+4vb zWUf#P!>w5CmaUBDBRH&&KUa0}cIV=Pbjw0JzL>?l_#H3?m`j(JxvZK{&*9zU1%jZ9 zOS%s^?K&NJcQy>SV*(YJ;mC-FRs`@GZW zC5E*#=HB=!dsI5z$2Bd@`aEeeu}48^_l;_@QrF6NZiRMG?(6wov@d5{z5)uuT^+&@ zZ(e*oQC`-DfZ;|{M)=!%v!{|o$}nSD>j6!l7pv;k6s$I?#(sxXu@J%hvyAVg8hdm$ zyut(WZ>n2eKn{M6s#s9@fv5r2z~L`PvbEQmLD*IMvwqmj$yi6$_x4S6OC^h)q5steg#|i5%E{nyKnUdgNbu z8@h}07m#K8p1uS#aAMyhz`u00@-{%kl*iOsWco_LqLS6v?}65j3=tJn5LUG9DJ?zrrH7xK>>Rp+n zVRV(CDa4Fh&n%g^BANq#wIa3b(@$wfKYC+A<0MF+og+GnZt*SB7OuBQ?u<)e~Djs;cOBL+6+H!zX>8 zUjt*mcOBm2&y)3LI3qfo5TgBoUZXm35TCs*CYbPeP0jR*q7{e^*;PiJLtu&byxpqi zff&j8=!QWWXb?B*DyDc?FM3StbN8+enp?#nk*-9Vb-G;|*K{8S;|Rb9M%p(%1R@mF zGrkS_@$TqL8V_J~125*1Mt|5vDuPnYQ{YI(Sp-&%sY+CoMUorJF$_vVv%-FSjiCk@ z-S+~(9Vb}|@$$pZ$tK)qE_L~vd#^^yi5JC!xkdxZ}gvY&=+Phz7&ni{%sKG%={ z?i9}l3`@IMzNfGaTdFf;ht2`+J25-(bi|$-dTZwa;EOvVyI3s*PW~r z;LX!+#ekXrllmWk-2VUV2@rw*c7^|kC;VT$<-G_{EB)fFpM|dTi(>8ASFFJPlZD$( zo&L$qL-VzN1Jp-K8;gf{U}iUfL}91T*8ao#9RF!E8SLD>KgK(-Kej6%?1=OPuJM!e z6mW;&(ktZLSXF*p37OC{7V%kALPE*8Apz2`R?dyN&3&s#dX)$fiNnl(#hH=t33I&} zYg_-GaWMXgTNxbhlAiA^C5B$_?{C zt_1CK`U5f984%m>n+lmTz$(A-h?-rgiTH=M2PaZBYvICY~*4YGgii80jKul+vVK zoEu{gs6|s9)l|BDB!Lr=uO8HSL3a^0RHN=5(Ju$L&GroEt}j9-%KtQYWD%Ebx@oEd z!xj3FE~xQoM;pE4G52g+;@Q@>c`$&3O&Dx&q^50HHn=i%=y&^tg^~cI{h~;MDzr@G z>}{BP+|nz~3+J1WHPXA|6dW(!kLy9naThSQCF#fUzPxYZV4k%D7@2;mIi>dgB=8|} z%2YZ7|JvXsP0#apvJ1j2%C(h8u(grxNA8=_K^2J@p9WL+4S0T->`Lql<5!qxFVMO^ z_<;05+3W))QG0A^+jX8AB%k09p?5uehXy)UZ>q5)a9!h;C-Q8=mX(r3_y3A7=0#&2Z^0ND9J*iU` z&l%vOk9qL1MySo2W+Fnl=iuyYXGBI}OBe2)Q6#HsD-x1ZtvCIUwI2K-A8}dnw^`mj z@|y0#oYMPrIcXU2E^%!KnE|cl$Lpa=pwoiQGC0l|L7YGxjEp?EQ`_G{!oT)Hls6g^ zqN?H5nzKuPJn(}Z*uX^5yF?KK?`GbSEXLJlKYC>9XFo8|8PvQDPxnTacE79Fjx-?_ z7lowS1Q-R%tT6{dO1feawtt=V7;INv6Rwp1;rJl8_e4svGsdt0IM*p;QGh!zOOFxn zB4iR}3~45@nJk$H5x3k-0*i2Wc5RMw@tyoiWKVN@$ z_`15K<1;UC)ZpV-qH>n(?j{YCHLPoM#K$cPMr(7p?Dg(RQsYIU$dXhz z#sA4U>IC} z-SNf>4JVez$5p{Ab^!N{EYccHtZ3WjsF#HVDeI)yvLL^qDl?8jbaUpK)Vp%0 zBdZzj>)mak{KmP0Se~B_Q?r-(Jv z!8Q8dL%vkws?=cLT>jM`gRzz?2atuRXAv~|yJ+uU(QM=$vxDn#B0;D_=j_7~Nxjif zzU?OxUarxZp{DW_h(pw{@0yh#0e+%9!8YPE;fHfAAFhkHsUc{qHMLo-0i*a_Ekq4> z%2^gtF(cnKpRV$iG9f2wDFR|)ujE)iLy3Mc5Z9XWK5bvLMmAP#TZKSKX&2tOCr@B; z39_;5=x_H;bxxg378uWAJ$i>&FfeyKS3yF1!0;CaY>(b-C|2EalKM!GsNRYOX;1m< zXJ(Vrsfk^~_*o9zTeNej?299%eAsm@?8c&8l^Y6JTypU3ArMM`G-RV#ea7Q_*mrFR zA*shdlViOkd66ERJJDZ}2711K)aD8h!1?*g3$`B?j{%Bdhav6BVrM+_3KzeD?9X?r zi`r{xiRs_{gC~zup}@{SiMacMnFM&NYt#CjUe=4d=Cs{)P+8J~q#xIIwaC*2`@JJs zs@T_8&7mt<`}vR_%xgKDPXCJgLJdWMus&5&YfPPL$UCN^6u3V}DT;c{YFr$tHP$O~ z;(nO&-uqIu`%iq!V~lSn*a(oTA?XQ2j~8;b&n{Q?$2n5XltJ2)m!`Z!mB$fseMfY$ zeaeta&q4N$p96WsM1SsY5v7~1-jr*!Uj=LUA1QftP*X$3sFJ7Cl1SSqoCS=ubF}{i zrZJl6r~lRarr~;tzy>Y72)=4Vy6@TC{M=E+(0YY($!GL_)UbSZ3BmK2>-HvgJ5K`eqp*?Hv?F1@|=HHLZh^lly`fi2qCs436TUJvN{IV{`v2Vq?|UL9=Pw)J^2N0W3`Pn~ z5w`ZF1g;GAi0QaFU{|fcFTJ4}Tn56Xu_MO}x4U7L^?3YoXFa~GEFIIGvOGKRk-`l= zEf4(ikH(|EFxc`k2d6zJc=dQLrmwTLYX;tNo(A0hX?PkS<1})*@AQCl57}=cf4>B(ONlu z(b4SvZ|v}8=ifrrMv85rLCI>4k@Ys?Kh$E=_!Zl3Xb#_nhAzAPrhh0=bCf3CBym#3HXimQwOHwK*WU^dY<0!9PxLsB&;9Nwo3qQsC8{E2 zE~G-qpWEMy9^g}k7J=w4TKvVbmSA+`C1LXVvB?5U-^BmoS8yZ2nN@0%G3i6D5bkcOypcBhoKZR8wr*X8gpa~#Y1az}3C#GHSfl1*LOATu&av3dKt=wH2Fr9X&manbYwqtEHMzp;#xnlG2r zI=!{J906_XrZ2NfvocE+7&&E?uO6jf`VtNuq+r_o={ic`FaE6(!YSESoaD>L-&*O^*NAUA?Q+V!=0!#!BW#I6AsK_5Bb29;w*FL( zQm^O3bK+G(EdEc(KQ}shA;}toy(Ib-pyQ25fs(th!P_t-*IbfpL6qM;0{?~oYE&f+!#893)WJ}Rq3 zhr-(%UdH7X=7+))10A{f1n-de)wjt-CAmp3>RtxPNWMdY{7=(;90`W{ivUoTz9=Yp zhM(h*#_Hzwd0!pKDMZB!ps+Fzak+{AjlvclEp+`C3j1FmY!xTFo!I{i2&-KG4+#4; z{eM7M$Ui77t0{oO;>NqEs-pcj3cK%9^tW!ef|y~(HQbQYCtiy@)9w_au(-xRfYv&()wyV zecn-(?@;`EuUd@7=IWo#`9$l79no~;Kp*uT*k^a* zqGiva^w--|k^Gf*_GJ=-pwi#9GMuNPHW>8=ZMb@tlhb2U2>bhBv#uwQ=F;QaN)>*k zGpGDc;!r z+c8@;lCZH4@U-g{&UJN5&{%bAgOdyiUAY!)DR&iUGu?VdK7D%E%Nr=sTEHf~jX6Lh zhq##H?g}E7b=sKI?YRLN@NsYTozw&|KErKPp}3b_D!=oF zChY^?9rLbqMhLRQjO5CppuS$*)na!{k<>DQ_d2`nqUYD2x1%Ed+Zv-R=qDYO>NcGl zh~k|^nLv7IP-rzJi!9)VIG|(TM_lmmmS6t6+E2JC=sHrgz>oJzv6#j4@#+5?wH@Fz z-s9lR0jY_lz|D=P593m?<^(hw80&P#Rqac`zVJg5mv9|dhy9vpDYqX%?x30!Cm9eS zNH8Tz1|+J8J)pUuj`c6xc_Jx{4&)*Hk6T{|8lZnp7xLsY5ZcW`C_tE_ zsFc#qZbl(;-f>N)r_HGi%JgAzNkRP#Vu48A^0x$Aj8pb^A1cID$DOOH2eDR)Y5V1( z0N8moc0(rcdAo&Sh=2zx1AATpOf$cm=n7wjyf*_K?YqzG-oL5saGCPbRKbf$oC#t` za^z@$qlLAsr=;KozgxY1UGoWR)R-qc5Z@fi3)AJ85V8S6|wTPCRh}u&@sj%DGJXk=)^!zsCxH_E4i<7c45kmOQyWlx8@dGeD8>M-587538aTbC-~gN zn5}CcV4p|q{(@9(BPpgK%b0FEWTrri^rOo(2M=B{rEn>~_eQL8C00fNvPf%|71$#Q zOq7BkuS$I|lPYLsvSwdNAeG4*(t%|? znr>X7S|Y~3zKN<-E8Pr@oTEh|-To%`>ydp|-CSH1sy!^{XCPz?L9tEk;KD2n%OYF#8;2MTFme0-!F%gZ||1 zgOogkubz+0a%xXEt&dJ^kApxY=y&((LBPaEGeb5JVG%; z)FuyA=5w2%D{kkP{RQBjWT+TVVJ4RSCa}9;{0#iUwg8REVh|pHZgJa`1K1Xif7llA z_CIV(3wdEiaUE@zSSs%9d#6$K#tg~v-2mOLs^`f9a@schdR6M;e4YX->^@;Z&x#5t z;_A)IrXN_k(e@k=mRKwP<;Hb8sJfl<5U3N;KbVxAz0FnbRt5J)Rv~X8-M<1NmMSt( z8bD<8f{GR*|M5QWL~0f>Rtx-?u93DigVRc+mfv^ddo$K$4GH{w#Me$TCcqw_e$PeQ;JrJq6`dDu% z3&_7$R0U^!ljaIy=8zWu7|$2bg{vbzTYMFf_D$+-P@BE;+aQd1Q=EU;m(myZMfTH~ zr>5DwMe`O`j04fn7(^)_xjUKpG!|mxes}Tc>F}YB+5uL`rk+Mu{s^sIao?_%+_*I7 z!4lH2x}YCEX^tRDi;uC*+V8UwV{u)}>39?R@V1r**`qFAU6SU0zui>#+b_Qo=Y^sU zHpmjErv&|W?U>agS&ADJ3A)}H-3*5y#Z-FtVf`4Xydq$NmTbIf<@0!8u-m7`6L1h3 zd2Hx>A!{K2#nv1|InNIxQxboB)gE9#lF+Pa7-z$GmHP*I_N)Xh_jTj1P-~>9-KH$$ z^#4QJTL#t9^jo~RyF-xR?(V^ZySuvu2ohj$5;OsVySrQPjS~nOEVyfe1}EGh&-1?L z)cJ6$Zru-4OlErahRXEx{MTB)?sZcac})6%)vybHaIyQH3xai5`lFJhzAwT>jRC8F zyP4Pt{S}x{`#5>-``0PI_T|xjS;*HtW7YwSjIoOD)j;@di7YZ4N&)VYf|| z*opdAt?diGvV}d?(uF-|%}*1C8lNWK6@68b5p$IXw?xAG4tV_g4$vC$RRp&suzB+H zCBXl=X6ab!>Yo-J!+We{!-|iE2D|SiTO%gu-n!Z3@LQHFYL-kG4v%IZ(*GUST_V6? zohGM+mHxJ)D092`YDWuckF*_;wrl&MxrjEWB`JA%wyO~Z3?`g_9R&2T#QI3Ab6P&e ziOyDgq5$T8j$r?Czv)13xp6qW^i>ob+3N&57gbJ6A(i*<|7B+O?KxjPUizY*73ci; z831eX<6i5 zG!z$L-eU9q*`xN6a1@LItjR``91k^KP}pL@U@|b1$Rce1?kCyG}3% zlR(iE6@6H}>D|ClH}y?Q^gy5d6WNBy6WM3i+Y`8(CG$(h9XBmyM(3v$U9c35d;0a^ z@qA5`rt!i1S%6%9^d9?uw${mS4hV=WS3jw2h(CIR1ABljgC*cK0Z-yLdCt zV9nGP|GUuOodji=?;QrEm}lD2i0v_tf12X!q3c?s13Z|--8I`;TmC@U4|{3nUb$2+ z7vP5^9#c2aR#jKxYn^wG#_Bb)l(f(CmFBh3W%=PE2~&xC4z;x4h3b>HPbEuCg`$dK zfW(%Z*)4d)7^9}J8=1OFWlga~YQGw^mvm$w5xCV`* zN|eyRcGz;Gn%5Xa=1s?HFDk_XDLA}Y4xPg^3lN8K)qs@ckwuSlYKs`g-O7XNq}Usv z2=r}edlg7UO$2tzvsr=TGVZbkP5RQ@NVAT1Ie0~*uYQe-t~Q#V)|50L<*SZwOLL#h zYQ(*~dwl7J)Kp3csqYGWWIU>Y z@v;i11c)OYbc>R-E{NV4bfw0)t#~7OQKIv#^o(%qM_Y^FjsmxYrvpodN3$yB!Ur9K| zOAUBnSd!#4?9&3ft7m()A^(I_lRAgU5yw{xqzk``{1IRnPCNY;zd5#{EPx7?;p8`F z-XSm^fI8C-?}%Y5Ad->*3Yez-42?cS9@zZANg%kMZ3x8-8rd*D+V~HnK(euLyJ39} z{ntw5-EZD51U0$`;Bmkyii-r=t;zJM4eCiR=v0hi29B?&g-vg?5+)2`{v1q37ZiMZ zIugGUQoIJ6?3>Ej@|Gkh&tH(mR=bua&uNKOU_B@M1!Bo^2<%=PyxeWJ;VJU!sZ@YG zApeIwdD~9dCLw zxDm7wGAelEb)A2I-DW6Tug&)J@WB_TSd%-V*M=1M?PJv7oRNCjm4_9}T>EHq=v7F- z)0yjOpFmKHU$MLg9W0%bAfm!8X#MR&Cplw8yQ6MkKD;Tw&-P%e$5931?=GxxFlvt{3$Va-S%vwxZqm8n%87trXD3CxzEKKbX6Rh?N z{e^dFhd#Pe99=rzX2|gdIje=u7}8fh#qOr{y6DT}o6Bhno;&#YFF#fS1t)|uXA&^} zs-3thWnYLM-w@Q2sZmO| zN~CJC=W&0iYmabve=z?8nrnvoiipshu$zEDZfxBaIb-}yQHkNfbRp~(Kz;2nsonvK z2LF>l?PnLHmO4|^u!}Q2my?yMWZxI=8R40q{0w>3yZM-!-Z%gS4<@d?{Qp~w5|z)+ z25?wN#Y6}}T;31s=HYKE?~|QcVGx`-xS-^5;!M@@Pvrp3KUngx6GDBLWoxY3kHt`5 z{iy(ap~BoFxV?c1BbOd=BQ!RZn;N3Mo0?YtA%GT=gOTXU=qmS(s_3Bm?ikegPfd}J zBcBc#^ESGFSb{y|usdDJ8I()^>RiruH9UVtfu^Fj$L+V%!Usfm4q){X@#LTi8ug&e z8sF|R)Bbd*t#r_xP7Qts0e;dSpkhG28%ZvsXr~vrt7$&?@*OQ}5e7_)RTpu&MaY^R zv?ePQDe+bp{m}Ac)dn?rtw;wWMQyDugTrS{v^BZBbg)Sal=~GwgAHc$Nai*0!J~(2 zv5sX?V9TbmeS`ACe8)13|Fmt#JTNHF2iuXEY#Ee;F%Lp{_`lK#xBpvE5j9rK(&Kwq z>uIF;`8=UQQSG^kacA{Hlp~GY8~fzpGoF;$xAvQ=L~>!ifiJJ$`(}dFKJrOPUbw@O zeVVC%2K5#i%+u6ntaDeYqr6R={#5WSMTI(MYXT!qaP`a7Pm{vseTDH)FCJz722%kr znYvbECv+aC%k#Noi|r`717+j#h!AY7Yw0X_>rjc8RMT+xUqv)PW)9cS=+mrZyknKC zB=h@p?Z1f`BF72lE}{w<(z-ZTDyH`v>uWG7#onidGdXx7Wno1@LxkqM{n%Hy!%9Ps zMyd<$;<~89Y~Q<(D}a~h&YS`f9z--A94h-n-YX^)iatbXur68lQv@$+PRAU6whS!) z&8L>^l@RT9unz7ByGF~O?pf-rX{^TEv1+8dMh9GhPtOikx>^d?Xi-|8Rf47Go8zu| z!OEeV^=j(xYj=igwEe^Ul7*qe(1}C90ogp;nW<|u@Dq)syRWGPeDl6`u2TjRswb|| zol%0}cxETgbu#cfOBQqGHerYEix%kL+pM@&2mV+%p$vsQ!d5m4f2#XO`D}fgc_zGZ zwvoqW*kd#p%MJP8!e_uIXN&pHPi*z_z6V!nx&KS}d=yKg2KIb%ltu(sao>H?q^g`S z7Z%tNCT_juJl+t-ezQqmKbmP!3Z_-pJ1Z+oUkx#tyu#{8o@4Bfo^vw)JU>Vhd(eb^ zUW_~5wqeb~W05Jrfhe6_aQ4A64qk~(wcQ*(tV-F@TVhW+V8$i(pXjQd--qnC^KShO z_EmW=!n=S>lC#b0MF`j4eSSXmNo#58Hdza*>9#gfyQ#SQ*jZHm**1&Y<~Q}x59SU> z=`}lA?^6O-AY8V3*6I8;zqnJfb!RO1zE)sW=QtpicL2$aGxyg?Z|{ypKn3Q$%;e?Q zz3X-E@tK)D`a(`u zXl>uu%|03j;=3;DdE(3F62?LV@D00yyu*CnlgtewvKxpSeuwF!_0X6 zostx=^}6+nIp^LV$2z5s9Xbgc%red>No^>nD3cGYpqG|d_4fwjh@=s>rvx%Fg`-V& z$~*i-F=hS|0W>Rxn=PKbow%x(>*tRTsdf0zd`EL{;pPI0#K3<7t>>6Tm0-4hSp4Plxoz-x zNR;XUAAZ&}ZA!B#G&3;ezW1#(+GRfC1C1&uBz8L~Dz9A~&q)RTwCw^y6Nk3Z%siBgpARIf0rBPcK*lQq{nj ztgSI>ykfVWuw`p`4z&6Wzk!aoWvkL~;S%*2fmh?qq=IK4L)ipV*HxVuEx|9cM68M z->$~YzPxv7#YY5pZu1`1kCTx&tG`HR~nHd9#j7F#QGC)^;P$maS>> zHgI=3b(V0uG1G69JB1*Kgp^QR36kmYH`{uU?CJJ(Pt>h?;vHylcI2$1(;tBr=dv{; zS0v^afhaMHz2{#u-3uAs%)VfwGdxd*VGt%;q09_K?R=y7I^{Nr){zk+~b z|09$s#_Bn!3&wqAO zv`8hc{#Wsc9bn^tFP9^Kz+f{r%M|MqXk#!Tykxg2hO^7VMO%QJv#-`0ujdXJ3PvSodCk z`9b81pC;R3x9Ki4W7jv}hor}m=ZD(^J1ldTZw@-eU_)xS0*NXO3 zKO&OJbA!A`{GiokeTsV85`N3LQ|nZc)C@qLW|?tXEKkMjOc9=>BuCfREWm-)M$52a-QWH(xT+MXs~br>Ts z?Yl12A^XqHj}8Xt>cV`uRz7xxpo&uPXyp9se|A7>vgfl_64d;z46+-TMGiVTCHX%) zju+sS2~koqAg?J{j8$FYiL02&coSB4ar46V^g~k0rcAb0MF)yG5RkGA5|(oe|1L@N$<(MtamCrdCjHJK%IIYfvVJh^2 zL;S>LJ(ZfYCMD27{FiJ86Sx3FVL}7Mx9E~yn~F)qr*Z3hIhT}N_Hy!-{qQKwGKl|B zlMZO56369-6$4l}q72=?aNqMalVqD%whk>p>6N7T1m)EhMxZ`LXda~f6D6DkUYRKd zhhK_YIir!5sTnv~O732?b`fxC7)rBw957Vn1oV%@`@&|gxJu4ecmD5+zg|4=cJ*hM2T#%Q)KUFD)4wAN*Q@|&U`hc6fTC}3ptSk%%}>F~vzW_tGVKniJ5jiJ-TY(v@vD-M;-=&a z$|B2p4BIT`A0}Fe1{4z--%o1My*ZcxPmegYQ`o4bY}hz+&X!`w7!I|Y^5AmLO_@*r zt-ON>k3V8ba4&tEt&})YW};(W$_mfqAxl`^eF~v^7-jA*;hHtv@N_2$g`GPK78f}T z=Y5YXe0hkkMVB$0c&~0b1cjS1a2HiFueC{i(Ew1;mLbg5mnz#}V4FF9^w*zY?h_py&8U+?%1ISwgf5;TDj}qhU%|aYFnAP zLTeLRQ4bpudU#EG&F=trkC6|Zo0hRdz-a|j7dLEGB%jXyVyNvnG(9YU_VtBcx#gc# z9NC4(y|71u39O-=)lF@5@82OW7J8H~;J)SxF+XA85;tcg6yPh>{#MOgx zY8s8CXNxr2WTbfJiVpd0y$#KCoZ8t|otC|f@_e=^`zXgB4A92baB7fP)G3dtZ+bl3 z9YqXP0~m9bkXMPSrf8Mq_9=<;X+$_9Eb#EO#)?tbU%lUhXO*f>6`=R+e1Ba9A^pDM z^Tl#hQGAnHX#`NqW*+Ol{SkWqW2$`a$)2qOCOe6_A|G{Z(LkMjwB$?72fWitf%R>h zjRxAsKS1W1y-M({jvH#>8Zf*zwJcvlK%%vx`T!+Rt2Ok{2~kluMy=ZR%eGTTU$)MT zy}}b1N%3L$vO(ivl(Qmp&n&jR5IuOU#@-TdxAzdxhzn4#pN#Mw=RGMNm1kXCU%%~r z1MAV5{?n=Ubj=Ix_Rr9t$G&_3o}C~dO!IhJ-frqiox<7245hf_wRyN-{cP2ADlkaIfKQFWm||j zT(OdW;78zf*25kGmy-m!X@yeYu6Gqzw*trceS0$IPD2T0$X&H{3r%nveg$nVT(12@ zyxOgI&>?D6^n=~tMf;pMdBYPzNL);1*W+`b`rkaYXqPMT&gIUK1!LXine9LVy!_f1 zgt`0ioyO0?GSs1r8H1fX+x(ErZ;l}62(-^T@z-#O^w}|Nd$TKY{a!he`kSe~{Z;gL zOerSplMnRL&A{J!Q5Zik=_8S6*NSiaCDby2LcKD~P%5eFyb8-2y4lhKQ2ff7Se$fK z`S6?-MOF{AsCuud+uO?X`n^1T7`)avA7iBT7)$V}sXw$J~Nm+`&PDIe2Hid5BjK1aB>fvc4n zIZ>Psi1;T&ou4lL_tgKrY)owX-zFUlm^p>{W4@|?@xvD@tslrT1u-csZJjK^Zw>1p z?SJ?ix?=A4`AgjY03Go>khkwS1|4yg_h-)q+p9)aR(NSed&Y=GuwavZe+E25&QSaG zIpQZ87(oQn?#K0D1)oYe_zWPPpJKZpb5?U><|HM$NLOopDBG7UEX>FAQ#ElsqLI9Q zd;wl8;%~DyA>t1j;on6bgs#WVPH(d4Wu5jHqes?G8-Gn(qd}&G z_uZ3IbrU6~c~fr&h}3SpM+E(ThKh01H`?v~;hM>3 z%wznJR?|shQFOWh)}5?{h0QMr2x2NH(Un`JzOC|+!k*9d39pZIL>?_QvR-C!PphHU zVtw^Gm;l2(CSj`}x73-kPV6D4fShF(G073PXP@ptSV%1Q3+~90iMl2kq-Sdaa}Ycl z$(F<_p`SbfZjjOM0~!5DkkR+o0~vjg*Hw5k2QvDYM+Ledq96H;=+}aXKE>Q$M4y6y z^S8g=e-QmX5YeZY0}=f{&xro`zleVAKZt(cKZt(cGooJ$BKi~rAfj&$8gn3`zkJgh z2_pJ{f;0HJZY=vVk-S0CIr*$&mF-Do3z639;P)ju+|?>EU6~_;8!M8nCoF>OKQHU4a+?4GbqK;tix1P ztGhpdI67xZ?{@*A&zI^4bl=nh*_*6^^flMK{Re+s*R2%9SRA1UD3bA#1N7#wSj1T5 zhsNn$v3R88dzo$OsVI^KF=irZr8CLty-D%52O^um7{o#(?|O7iag`VgqriQwlhBp9 zJh-uXI!}Y&I;l*NJmPv+OGEZQrxrbr`x3y7Yl%Mq&R+CCLd9?QM~b$ynTO>k0*UdcB+6Qx2pV~sY)pAqkB4188%c($t|y?e$;;{cJS z*0vnTf@(>g%H$mBQpGRF;pj<2GaC$4wXv_;7J25g7!W=54RAIhU+y-v;fzV}?iZPx z?M;v*?4Yz{iTx5{W9<>&@iKV=Q8$q~ZqExn=q6Lc6 zIX`lFPgrid4pT@*T75~I9qdVycNQAr!5#l#&-bHwkjLP2ml*SA8V$}d3WMAEXfb!R1~%_7EYxI!V}duw?qrJQzUg_(8%3nKK7B#v}Zy$2#S1tea z=6cvBh{G0MQAK-KWFi2jo1_N1*z%r`6-T5Nd?f`a|zAH+L;?Ay5$s^^N$T z5v6=`3IUdow8_NcpvQYOz&L*SanneQ7oJG|W;%KQiuMEN^*apW8Q2wV5-2HSYP7dv zqrmaK9052+&ymgV+W!1zy_=ameA2lXIepnI{qbGHOv3L!Q?MZu`oEpl#DBn)8~6ML zp7@{s0#9bdQgWTk;`Nh*j|GtkXbWv}hC8duq^L*6{Squcfmx7sn*GZ9P_|rwNe=WM0nEOObslD%9N>ci@Vrp=oQsL@x!uR#L*86u{He!lky{jWSoEX6r zL|DE%?f?hoZt)Xtm)Mosuih5?Gz%C6H>`~IbahGNl@I&i!2Es%OYcat<6qPX09mIJ zuf#I4_OpLQ{JIw;t}?nJd!yh(jd{F%^#K2{6Pys>Mcs>M;5nJ(BI6l&w&XV%`0mIN zyG+tLLTCwY=d zjOS(9X%*Dv?ox-s@y&|7W>HMqD^Zi8k~Ri5&0siMxp>{7e$+Nh&OdlF5sO;95d~f= zk-VF>#p|#26obaadGWgj-FQYEr{0C1c2u|P?V?q=Dy}KzFayaZ6s)mb#Ml%e4xe=? zV|-%Bme*gqQ-i5keyW{9J4{oR*xD`5XCFv9USK+IADi|k(v8n29m;Ie0`Zsqw$jl^ zVnEz9Hfw(2i(qmP)RZ2Av)j3a*dY#)dWhUjCxr=`lo8%fDJuF66v`2kYl*-fs3XXH zwv113I1gz8*!8rip`=a??xZRGAAbaMtqGU+&9TQFe%yRR6CoafAYHZqKKa@xENVZ; zP*_Y-#YGaWg8cnf-!_38S7$c8*F7#v+Gux47}+NZS1^{_?REmnhr)&Z*y)lANt1X` z=Twam0-_JdR>ds>)wS4T!KH+5W67i(bXUsY95(-g7mx61S(%wq!>F>MNl9A7g5eDqbJK{41D&UWf-up%Ug}O2ZuGQ( zrrg{=Z3ebFwIc){WtewZDjs=4m8&<&6?o7X7>3m}foa;}&;U%>G+wgspGbj@x(x60 z41j0s8spAgD>@{w@x6ZPm0u%Izj_szsP!{7@&LnT)%NB?G7bEo=&ZpS_2X8nO7-Q3 zWDY?qZ*68;0n!(I$at5{=_!&;xl-m;+=H?C7A9JX606BSz`u$@op1a`Jt-CkoC-bW zto`NGDbxm1zgzc`6?7@&A~q@M^kM<{^wzi>M4$Y81r9W5Gxs!#&RJ8+p@92S5Pj)3O?qM>$X40%|KY~uV;{__VWidyk}ed^NOnu#b*B06>sO$8%5Zq1F7em}ns zju%&Dv}3Fx`fH>nv^=R<66&8}l?Ic^OyIS4-W&A7=x8cO4pprG{9IbL-Z=N}!pCa? z7;Q+dMIfs4lJD?kZ7apvg?PXYkva}tuH*85L-C&=@cVLDSIyang(u$xPNR`c+4#YF z96jRdber|YSSlVt*gpWAhlQ&ZbQs)QW1R&@oLP2gY-`v{Bs(sTFu*|DbsZyndwh7u z@!9P8pEh)9%WJew9liIiN7JwL=4i=*!rp}1Yitn*%04jmtiU`oR@yvG$$oZj4I$&uv<(@!Tnz9WJ4f zgx50k0d_m4?05ZB@@>o5k}P_I7DL-l_ch{*(5P=2QxxN&69FK66w(&&v!R(BAKo}2 zHhd#C15PA!Xj_dHm~VP6f)vQ@aQY7IhGno4A(1@h#)=^hnvQ_wG6AiR%i&nHK5+zR zcUPb_6+ry$dXrFA$(CbA7EC9su^pm2nL+1>-HqXAMQc%y#tKg)YU^OEJs)>*+z@Y7 zV1UTH>r~zr2dHY%u^OM;;6&4tk+!UFLq`foAZ!J94Ih3YgHAU}Ori=2$7YUce<170 z#a4d|q+Lde{L@Lsd!5@Kb%V6!E0l$6o*a_q&r~1d?QQ7ukt}uu#qV8ua>(VAy0LEe z1+(B$41-$;9PfQPHexB%LOtA`d7mzDDo9$sD}CNm00bn%6})BQT3Bc5dffgfgZ45= zCTZBG7_TFlX!gWScF;2QuJaZ3X)wn~S5RGCiA|)a39`L%gT0$zG#tVT;PyPB} zdoq~S%BID2{k9MiCN7cJq^bwG?Zt7u&=su9dW7bv!_l6V(KqOHZ&jl_J4J}KylU^h zyOnprk^$fFuQY1fj3kunljA(qb?5{6y)ON}Q3f0_WX4VFBa7*J2!J#$U`u<<+9%-( zde>FXOqA1J>STW~h71Mx57%D&dJ%a?7DwlkVf2JS7Jkw^vbIqQY%&XLEXUL=^s?Px zdFz*8`ZKFWd##)vNN7h+xI@G{=Dg7`4-^iG04fFpQERVStUjEExY>d>A2NGYUWD4F zl+jYJ;ke~fUNKsDF}!eYmB;K?vH1=xV`-iiC@AeGW~MQz{Sw-Q9uQXJM+{*iqJ_I_ z|8???Go>`= zfwQI|t?XIj6K)t5xkuqH5|e0)#8P5jYCH}mGpdn8luUDT*z@u}k-&ZHkFy(F{(^^xLMFX2E`Zlf zrC{KQnicO>pF0LI(J04~ZH8_|dvBVi4&m9YlO96HA;%B|Qmi(;J!Cx> z0>54#@Okq1b3r~o76wk(4Nx3<3jiksXl>fvy8Z~hbKE~!ON*;4_ynd|t_Ug@zlc`! zt>LaB%yk#ML&|YY?zUYx=G;}Tm!ojc++0203vTM^5bVtxUYEvP(mgLkctNa^kp99B z-qXlyL;?PreR?GXn*&~TIO1@o+=088G&o#Vhj7XkNw|X=KC|3$s35EqqYB`?WGGw1 z91BfJxO?od3C2M!G3X`YVbtl*Lz=Rub?Ygm{U#O~cv-gR;X>-OA8*2Jf5=e3cXE}~ zTaf5067jq1pv@B$@gRP^>*+@9%`H|_TWeBeMR6Thc6$!9?h)dd$PenP-9pXv4; z!Z^_=!;yp(9-mn3#QyHc!##j`@9j@{r^4aq1@nNPa;qt%H()d{G0*^qI9C}StSOL6 zDUS@BL9}2lvtf=dG&7wR6NwC~srwjLEQQ>bC>-I>J8RFOe`@Z;tH<#q(b-mxXoIQu zI`6AWV)qkbfg|QPM;+1oqAlicZ9|*C;~vWV&{p(C`DZOBKbT?7OFaP?Ku@N2caD#G zUIlrd8x;p){+%cUxqg;0-jm~u1%l`vf03-45`U}RmuafY!&{lu)xIPv{Ko~=zX=9) zc;g$qv;?^;+sz0M@|Np_)J#t$tS{y_cmfemxc!i24%Tyx(<8PZ3@LH_w5oP;AJsJI z@3Ani)`E}D%Qjv?ENTEh2+R&~1plUagTSFL$DiHsG|~+>7@Hp&>hRWG>{aHs$my{q zgmi^4r4)|5D2Hj&8q^I@K0#4a*6_B~Fdl}uyCm#26>@q%b~>i>zrTSe+b3~HmXOP< zJY%nU__HhX`)a{pJfhI-i|3f$raVf7=U}Qf-NOdndzmoZRX-!(NQcN(Z|(C#rcCJ% z^=nb5F1Ob@=r(`ami2FshKF<%8*V7%26;Bp#m5F>$ni=ndr}4cjK0#FANe?gi(om{ z_0Z)ZQ4cE3@8X!KZ_3SuO`fo_YRcg3;!LtuA)g&M>unfIzS&dc&AND0-zr00u<~Vr zt_=vvb7q0QAaY{`pb-NX(tOx@qOop>Rq&-n@P|AIPL(1q3&z{tAdy@ z=t#7~ta?K9g`L{)m)IynIO9i#c5nm2Q)FJ(X3R;9lJkoST96vkiZDJaB>l$0k zT~DL7{s=#w6hhFOd@fkj^J{Pj9Z9_8yIaE{Ozjb8f);*|vbS%m7j!L~osSx{YHy5p zPMpj_)Y{A*FcwU$(`GYnu+=o7!?7I7#$czlo39UP?bnDNEzi%WVeNf#L-8?m#P;y7 zUi$h0BL0{jSdfs@fD~61AGn)_JgVkYf^*DXV|2V_MmA*2*4N-FaVr0Qui^7) zq^21;0^7?j?|0dv28;o&ujI%FUH!`aNaOYThT&o?qJ9d<;aOrsFnTT~@irJ*B76162HnQsJmD&Ry3 z3~?%Vf$yPPRzmrZ@}6zRsZ#9mbJ6vvVxFfQG!4{KSy z?86mo!>l7|AOK;olR*lFd8@>b&2VEZX0pd4@AKtG3cyJo!Ja>kKqQ+&NW~{>ek+yq zeq3WVt3mdLmz3777mk}y9A}j8Vdt|r!7GkjpofMf;uQz%X~AA$J9W|TEW#GB*eSwGUueT^0y9W35S+lVIZnj2c65Y0>1^ZqH>5kdNPdmeJ3dw*d zA;vi9&K*W2^l%r?4AesJ*5Zu!*$*6@l@Gpu#8quMu?$KxjqMupKuy(bJ1KF_IDw6! z5rJiq7HA^tlp3CZ zW^FI$+dg+5k(ICslL_Z z3ZbgSQi-2(C&QG9?eGu&iS0@lQCXKOzmQmsjb?e%(8gskHf2A8B$s*A*UlES81R#- zeq9I-zd*ZlmMC$FiQ|GxR-u%HI{TgDr_lF)7#B}Mk>w#cRDm)nTs=JSUV1=DhCw3@kFz(8bmw#Q^?tD;IEiXz{ga)vrV)cjhvoRaQ4o=uqf7MhF!lRb=xM zeuovIAFjHDh}PRF-ER+H!AnC-$x7GhXSTO`78>*~!RI?MSq+aQ3(hcRmN9WpY)a4+ zvhOE63hg7>cg%lya}t70cQqwp$;MI43D)up--#;TNSK{Nh+OE7hk#)9o^&kl=nKa6 zM69-#G@+J}0~m>!!eKrMXeorTNMBxV$te^-i3@BNVQUAeOpiw4as^dk@*S!h6OTtw zv?NL_aFXfkh5^1i@#e3hkumw&On8D6?ekYdkv$l68)K-(bQA9Po8b(wIkwslUx=Ai zz-WvkR#c+yqO>16Mgos8PF3^xdR5U(}e3tO>a;Dt}q2lsfV86ebD>o_a-!52beWEK6Nmje7yJ zwMdcJp^qkD1;0z8#HNCR^VS47kn7-h&>Z91;DHtM&B~HbRKr17BI4{#TrqFO_bTbHVBg0sUCw*~%eO~zy z?5~+@ZiVt@(}AifFo=KrxdI6;;pFymQ8`NCvr5aMsC-0C3t;BKCpYs8gx4 z`a9i+SN=+pCXcXfPUY&8!G;s*_;<#6OU62G`{CMxM<91imHdh6R54u^Ak4o=>L z3cci(%mcLj)c2y?;S6TtoAmC+K^e?}X1egThL`^PI_4r;(4or6-Um)jE)`~rEH{3| z)z}EcgMblgWXV)ePAq=Kk%P?<8}p57XSFS}u`i4qIS;3JN=|lx8L-V*%+#yP%X?QFAjjo-Hb>QRNz%rF8%-1i>$XL=p6DZQle?>oFH@m<^Dre##ZAeIMjZewK zhu{4}1bOStE>shfGWKS92;~I%(0f8JgLQ0h@a$d-|~ zOG5SjVLgg?W>0=$^VO#9hri0|>SguKD!2|UnlMTwKXc+?%Dr2+g?N!VwLv9!hV40m z(`D9pO75|w5}>Uf$3-ideHyf^Ugn@b!?u(`qE|$-#tEy40~cF8phM=I7bjw28-hWQ zF!r;r(>*oGQ4eA-%4)LL$*tifhkUM^-$IGe4&xxn<#DN5ulo7+pcRYOVp?B`oz*c0 zF~YE@4;Q{0Vm#PbUFY>co{u^nMlq7e1_eNVG{GnkQw=(N-)?5g3uS)&6B6>)1UkAL zD&>K+66Vs9P|6|urG|k1`WWe0OsBgRTdFH1SD*?O5ueg>ISS6PF!8(ulUW904s?f5 zxL#kFy{0iFqFTPLO{FnaknsSfcGR%*yEa}>RidjG9@i_=w-3|XBW^`*C=$4Q4@tnZ ziiA%+s?uk1W3v?MZ6pH?0b0V2p=zSun2?57ziGmY5RTUiX$LR|5sQhhk`;bmtT0)W<4Dy$fLG< zjAL`jpIt%_E~3#EWIOYf=?Lasx=by=Jw1s1f*?GqWFa_*obj?_;|C8j%sacfCbNp6 zjFKoUt!g8kNGYTv!9baeFp;IWsO#@uu|9lRFs`-Us^S4uOrFs;$UV9!vZ^O#hZsXLz zf1Da&)>;@u4nJpI;1kDwC01;?%1%lt#-Y=qu_s~_a%npj2cF08CCC8Gq zXvKVNbW}~4KH)-Jd`bAjPm|U}h}R%H`A#;+^=u`>@A}GSY!CbE5xYaaV@v#>dis{V znB%sAa|^o?uzgDLPFTCJ7gIF4cxd7Ka+6`SeIt!tIkoT|F%?T{Quai#l>n;Qr%}hP zRw$JU;KxGVBqzbW2Lc!L;xP85#vZ~OY5IQ_q_ zSxk!Ht(nuY3Til-2dHDn;-{6P6BK0U+pDoZvu4gZ^B$LwHEc5U#>@-TY)~m6`vB^g z=gVGN(8{&XgYa>hZuJ5?AbMfrrq;D(d5R&NN4N(UbQVg6{~$1 zB;sB(6TX~`g{kXxocGxuPpkzMv?IfGeMM0U!ZUJpS@H!GuKK#CyZb*`k})^e!6iu4 ze;(=8rTy>G-zj{D%MjeX$?Se=3yi-}(>t(NNOQE$mDU>1q8vR@0lrNC%!FoVTo(=? za`_NHMw7W=F)QQ4vtCKEr@ep(+58!gk&k2QmUh`do^+WT5TesiGCcng;BaV<4+nOj3Wc&kCPZ)ff zUyRyA&JtXs&7czSFZd%}_?);7K{^f7&2)AG8_tgbh?>vp^#XH#8S`vT$V6 zCv7WY@gdR`>a8igk@7z)B(xpj6c7PE*@JOB?sZ!8K&J@PZqu@a4YPM+4%NH`CI@{z zjjkwb9HG~D_dNi=Qul|cW>paqQL=)n+iTMlk!2o&?!p-4`s%xwH$QgHf1J};^h`^pytZOnm~%huYvX{cT~iN}<>GGrOv#XaUx<+m}^bv&WF=3+|D=_~I4D2L-Femm?^4v3#C7`!Lp-CgBH5mJhD zz+2}xR;n#V<@n+<)oX5s+xEhEgKA$7y`&oZ@$HQ-pgrqjnklwIqAzG2TNxTp(!f^x z8F%OlzoMWoZ0G4t&m_^H2Q*TkFPb*AUa(n~GKNU)f!`nDn#!|Xc;5Yfv|;@DRK$%B zifn$P?aDs+L$!qaGL$F;W_tvT55B(29LAMwcKF@NGOVzrI%q|$T)7jv-b21$wz<=5 z%b|?J0H5K+N-9~Pv4{zRB5u4PO0N8#|JqT3jdGVhr0aWrkh3oLuUF-{<|IZ1FY(7{ zs_q#rbSU;2bR%NY#$&T{44560;Nyh)4ycPyn)ob3md1U^*N%+aDo$i&h;-76EojDk z;t9yG-$;ar-c57rLrDeSHfu?Yi(dDAgf{(z3Jj#=nU!xg?2~Yous;iW)#4jWkE(9@-b%W(M1nqII9;#$?WigF0M3?G1oC8 zf<&zv>Dqocc|rqis0_#cSW@NOc|fiZ4n^%^$>dG}8K#G2Yq^aH;?N_1M7ctYzr zoBvc`de!v0vjRq7DB_4b!ixNC$8l`FoMF?8uy{Pg5w5Mcm0ZuI&*{OFaY#odS+QkAzis{^7oy1wDC z+}W};lwFZf>C8wkaOYsr#J@AkBO$_Zu+eO6zn>Rv8^D&rjU$XB3vF>H!KNf!&s0^O zNBV&@8gL~YY!4mr`a7@17^PpSb}T>y=QSa2DBB_bv1Ti`l5^8~ki-+3R1Jj%CItUi z?Qp3ub>vRd<{rDcWk)e(ATJjR$CFjtF^bve%1Nn$*DZz~($a(ZWhYE!kN&FXC>hd<&o!xz`M*-C~*$(LG z3rdG=^B~@i-WmzqE7#K2hD45dbBiXTwn!);LP*?R`O z%pCzK@6JgONnj%%HLou4-y_;4Z(n*C{FcJ{3S;PQRvx5dH(>9E!m24MWMY+Z`Yx}d zORVW#Ur`7p!B}a8a7^(lLU+I!0bWdhwoM}V4F2YufkrL`YPZD!Oou*lq^NPw_5CX@ z;~>FIP7*o%ptuqrB5h;W+fA+f5L0i{Z-F_+s9u>Z_bV_l<{w7)x|xmPE7x3`_w>;_ zn&4juu&uM|5uB{92_y3mlkXi4gD;k9Ksx*KGG_RZGb9x0E{IZ!|~ zma2%yY99GQ73 zX9$);v!ndNCpfdBb9LZ(G%@|x<&B~O8cneOuT&w-0Zd02j!6hdgv-Y&Ys3uOc#lOD zN0vz#}qN))_6n2hkj~tfc z_!K;5${Hi?H%He6tcnj-hc2*n6yuSh?yW@^y?+Bg3o@(@e^+3jC;)>EFAmItAs4O- z`SRK_>)7F3dJ|qBd%#e`Nht~8*qE--a0oH^Ls(@b!h$hzrMrZf^rW>zwBgDh->xUa zR6)ZVJMqx0U>U#i@_DR4)egMKsR%nP+;GtG2=Tt)*?SO#=XIamp4W?-utG)A z20WryjI5Fae{_AiDVRUctue(b4WlMZ7!i9o19XmSe^Khn`k_YFC<`1NhGS7ZwGPkY z(*^JNGDv0kRAD@)H;8+v!@|~vWaQ>W5JtZ$08~ffK7^z6X^n&xd{|Rv%>TJp=6w_ zI%e@ce-Bk7?t*agDyl~G++5FKIjxQuW`x-tRE-gn)+gB=(aV(9?%;yszNc#xBur1KrG}jpIz63AI2crXHU9L3i&yMN%euyhOHDa+0Spoz zb~LMucd>hPS(SjHJYCmFF+I9~wDQ5K>jGO{PyD>=2m6z{#+uOM#`t^D#1D>mofYg_ ze=hiY6u?0wg%&kMhVjI#g^B{>2+?3s6a`=C>Y4)cJ(}>Z1ovV z&o?gvF#0Uzwa?)AYX*+s%QpAEm4bl}^oq*dDlHrr@Kz}cct@myA5H;pl`G$0T>aQ8 z3A}8TS2=B!#O0?i@=vDXt&)l^cE=U7e|X^I472<2n0udw)Ai)Vm3UbbCVZXp3@#y< zSQ#?`D8dpzZIdLdOo-23#%hRKFw6?KsfCblX5Lh?M_^PFv*=kSnn5No{c-1@Vt`bWKD?osLmE$e~xhQ zL)$|W{=e4FrB{&M#_#+4DPkatK0xkRD!qG~StPsJWMz2aOpFW99Y5el(m*iZJ^ZOk zsw$B>JszY_qtQoyk)l+3P!dJTFzLZ5w}iF7MA4PM2jjwV1?JrL8mB>~8q0>}F}IOl z7F6C}&-^z~aHN?uAPaZuYRmv;e^(S4aN4kGB+wjy{3WKd{X_ z`2Q>+)t1YUo7kT+J?4dD-|+_gx-A?-@7(>e+T_U9Gp{62{#U|^e>1i;JHnb0du&D6 z9KqYtjxhA$?bA|+(7noZf5$8<$Iu-exns-m;QTclnh=FQKH7ODl+P`FPFFtQHQcpr zSG)dg&ir>*mF~zH_5{Y) zBoake9A^ol{?#_S0Vk3~;ZTGz;;Aui35nWDu${Lk0H{;d05U!ye{0qNH{xd>Uu3}C z-m&;?WDp6j&cAT1o}Xp_kr%>i1NPw{j4k0B51PGG0I!M(4xywbwp8OS<3{R!+#Qp_ z@o+>)Fo6Eh@bM8R5b^!o$|A$*2pj_lTZYRSS$%Z8Nq9ao^n1dF7rMBJ5}zYu1?B*F z7L_z$j|_Y`mCqkmfAsvV@3vsZGc=pqSnkb;+r#NV!)Y6S^ zR2kKEFP@sBVNV<%6sl21y^HKMjup&gdaIB;raPRfA@&ne)zZa!!Nx5;s53z ze#MoR`}$)ag13yqLl!+rAtH?IeoiT0nJd8w^5tUY%M z4+*hvS6S&&-~C(JWg@Jy>wbQPaEK-`t1vU-=^^GjW5T?+`!M6!`|r#B)0JChtkiv0 z^xQMKV((mMfASYI`Ku_lk<-LC>;G)?_|@OTBm5dbjTpxad0Ce-Lm!Fj+ffKhch=o)32?qo~L5 z9b;imx%Y^aFXFKZQlsoYl=t?ea_9Y(d@SD=)_+IlYigFBA}Y9O9`)d?;InHfX}mSJ zaVe#9jpTsa<&stMkoHRcVkU1dqdMbr2#u`I^EHu1Cc<2AX+Cyhehdm6G-9hUfL=^d zmH!d9fAN=Zkn&aZw8XGjh@_`^%zXzDud*-82tn};lQ`~u6A`K$&rvU;I*4k-9pBwx zS2A-r@!%I;n28tkJyQUW{R{%k8KxjCogec+XQc3s() zv8x|UL@#dR&``QAQF~;*Ux*6+5m8B=M01d|%E(kD`RvFAG9k#$SEYBSdO@Z4LnkADJm@!zShYW^b@eXy)dm9RBZ?xvup^x}rfcI= zf}7^tHjM+!c?a6X!ftdYm40=bXED$2G>S30Q}%e9_-=P{qGZ%Ka*ujs9=o)g$x&Mm z+IpfzMvap;TZm*kkIm_uXx6>7zO|b~e^+wF#3|_HgvWfhCi8%^CY8IDlz9Wb2qaxq zmL9jO26o9w_Mn=Kx9hF#$UKJjNtecTE(2pjh9M%a2^QJqdmP=l^_q^RgHE#+6Ka1X zziDQMAHkCpJ0745rqZ)JUz)GQWGqDwx2sJiC{*-{taxGY`KM)#IjHe->qx zK05lVn5NRr0f1Yt`n>^wQv}xhEB8n)2d{$iOuovM)uOl-9=vfEe@feAv9F$U<0mgk zW*s3g@S0q>Y|AQH6e3)hK1)tr2WOJ-@1iexf$@}jR87XNRaRL;V&J|RJ>DYsbOJNV zHbbRLTj4o*Ee7k)Lg%)n3sNSof6iBS@xUF*q0&<~PIoGu(5S>LSc}iRPGC&fwVb_W zAzRX|UQ|SVaq+v;sH`K5;VbufF5^%r17{y2c~%1_2rlY$QI&`}G}71UehAY&UmtlK z|E%~`i|l7DDz8(_!?d|$NI~T`b__b#NFFWPAu79*D33sJ>eWo;Xx<_h->E0L(F z-B;#@h+w(yCc2WnY{7}zrP4hSpdJnU^GFXoLd>sHn!Cwl6~Qt8N+$af9Q|&D^BC*U zb5|)6@s@*XRF54A)6#}rf99d_+Cm%=_D^m%5istMRw;T+KU@^)bOLC}NL1-#+^oef z>2qFqj;NN<>^_?pBzKhRGL#N07*RF}j zX9AbND;YO0GH>pr;1EcLo06ix$*4L#%5p8syeftRSNtb!q)Xi%+$nZB$qvhDcDWR; z|8`QBOq4G5fq0Obh#Iq|&#t_r&n~+Zzoc7T8Eezva$3>vLpLUZ>Kly zHC^i7gK(|sh3o(DNWWyQ4o4tQab#t>UiSgZ>WYule-}H_s|*<*RC=pKy>O}+nR^fH zYd6KnHntMHOwplYRHpeIp(jpgZJJQ_m|14PEg=T;As(s*GDp`WpG0%S*saG@-*Cin zMkxkiN*=G@Tf)pt>5>+u$nL(!g;#)-Lx9(JQH?2_1GHinB{)$JIT3zyZ1<$Bf!UWI zMLnnGe_52($z{0uu-|}=&YVLDu)4C}otc-SkMygWyh!W~HrXHSlZMPVKax?T$mq;y ziW{;I9gqZX{(q! zu6Dgr?<>0`vP56G=d_oKtaOJ;$Cs)!s7`NPLsRKq^dAi5Z$Q;y$cgtUA5W(-R)$f< z`?8W#wE7(%EBVmbjdL0!+ejY=H7fl&l9}mW>~!<2X2;{(CChb6Gt)n|Qhp4YR8H3x ze-r5~9Z=q?jDtsO9Vk*KS&%uQ;J0WIA;>57ti)Pn& zFzmPN2*?s%{C*xlVZ*m44yqUS&@DSXE}i)24-6a36R(;I%o-JO2bCU>)(hrGrDx0buPp31gcPdY zv)}A02A0n6*vb5qx&B|tnp7yWVAy1`MaS<=QexmMwwp;Rz~lYGTRW5S8mQoWp_YX(^_@q> zHPegmS~$;u-TmR@@!FJ5F=0keBYnW0QyE$3sts~gu?j=rzG zvY%6W`dT@r2;ok@gyLd72c4g*e=Pz?Dgusyxp6XpD3T_B18Ve+Du|Xtu(Pu)Bg0ku za$gvDEC^Eg)VwNJo!wf6b+(Z{SK&2%te_+Pi=Dn-g$*9xE?LGZJkme5Qhp4YOt5#B z$AR>gZXEFSSAA2S9<1%^8|`b~tu;+nF%imnAv*?HlX2u+T_i`7Zd~REf5lHUWhcwq z%5cho$$`N6O<0^k*sXaxUFjE{A!6D2k^~?InE_dDSB8;5?J1a51JC^~A!$OqW{hY7oYeWKfw@j9V2qcS)IkGtB6$rZnJT4KKU*hpPf%-U z$DMt&Og{IwHye!ouag>qe+!<-(DfHG(N1DNGP22VZ`9YlL3X7#-c81!(q$Ld&45%n zXQ#|%R}fE$eP3E$gm{7>?8C82cusHNQI_VI*9PhHG1u~&7V+I&sXg&Y$lC_*_Jp$5 z@dj2C78wVr9$Uh@8!Ut?VD=AO0^-?>0j*h?LuSm_;$%M7MhX%v6b>;&t!q&!G+cM>T9;`p)`uvQFlQfIC|eneOy0PMe^R0pA~8h+sNExw(ZHex zg=Yh(xuY|+^iaa^rXIhUjZ4)wV%+g0PeqQ zbV@X4(u!}De|MF_Bn&}zS*>c0Jecf??8*^4M($$GMgs5Aq>bt(JitT)$T;<&yRJpy z9kU#(@OM!K8=vFQ98bGpqo^v&Qw&i9Q=wD9=#Ed}s?&hoPrJM7@AXqI?IKrfSN72W zsYOo5ZZ-#Y-)+d2Wi#BGCd*P4-?n6IWLxj$7ul7Le>Dh3E-JlZ^D&G+Gj|8^qV-{ zI;Z`vGbsA4NlA-v-I^hWe&J;ahgAb(xfV?rWr&|$&L&J;P^(&XLkQoWF)NNa^q{R< zj)k};eOIh|qO5_2-cZY@x55lGTsFiz`%IVa zP}%3L>A8q5?e6re`U%4ZI>RhBV;M5)f*-O{-J4y(vLWH`PO-xb8VjxsyM~i#gPmye zuAk8@=^j($%$|D%P=_!rc?-~O@rnC-yd@ahf0lmhn?i5S7e|09U*IqRY5)Ei>nMPV0F?% zcE7Tf-a7rdI^8%Y9NEvkK%M7=GyM{3oD;73=Q-g@AfKS&Ur__H^T8dG24uQQD257< zfBuL2Zv&7z=Of?1I-Kv;kV0K{XE0(T!)VCzXvjv4j!!TCs@K_#ouH9zq>r7TN*`~+ zNBS2#eY+F1cznBLxpsmx{bMWT$Domk*q8J`dP^T)vnZvaSlsep4qL9d@DL^VAga|O z!tu3=R>hpRvTHb~J<7ta3^Exp1$XExe>*Qz7d~_pKi`d@dw(|NlQlZ@!#72UuMyGv zwuD6Ss;Y4hY*8J%S?7*`PsVd$z|I%2g6If8P&yQx=%IN-#6`i_v%z$*N%IoGtg z+ofxc1fedwx`Q_YDj0+W%pzdkPL!b}DN$y(d2uWnF#8jh6tet&x*I{cVeM}-`;Z!Q z%J4}4O2|9shHP9^MA3sM*_Gb9e{a61*flBUc%(1v*bLxSPx15JzgkKQL#`$<`Fj8_ zj$AZ4j*`Jp}uN!Ovk&N?@4UZzk9hqcT zdSUQ1BVD?_k5v_e%Ro%0HpOs}np;-vu!ZQZqE~*Nhj4vRycniQ=!sE$c|I8-;T=teRTX9C?pK z>`cY69Qf}{TaK6(%cP(=%0g25VyFNPoxBBLZIPV@?oPW1w*qEw4v81s-|NlYESAOP z%6@7oiB+Zb-aOJTp=1VdfA}s{`774gPUV;0gG)0_K%lrDd{$A&0$qB)Q9wBZTTejE znRlJ(C#MOTmEmfxcHhW|3gu*T@#*Dvtvb7`p_ar`WHKWuZbEwzFo2m zO?0GxY^D4dG~@DnBE6;C*Ic?y%cHeqM|)kG3M@_AA`WgAvJylCe`M~l$#Ap7TCeCt zw;KcgD5t39%ZDu`Z3(n0usmneSe~{kF|y z?^+VkHD82{TW&nHr)Uy_Y8%1FOt!s@TDzoXb5DJssoxWyRhW?cDj^-pVk7)w{>pSRt6z z-q&!ideqsCe}&Y@Hqz%px~7jsaHM~+)3*z$#pBy0%UDQ9`o~tvk3lmR(t-4*PV5GP zXEhn}$aYVZ)RQd9+{aCLRb&Jq?-TfotPV2K{SSh7ye02S7^XKx@xy}_u8?+eNGF$V zOURngb6kR&yCLK(1pn_!6rPyiZCi1S&cznCb@O=se-FNBj;W8#^?RY*JKw$ODnPWD z?$ut&aBk<1ZLPX}Su$jp`+NnA5%VmH@uHA9F}z2UX!zxGKgs0haW;+tM*g!#Ts+D^ zIqq~KHXhe?K;yMCUS!fuHqs-JimOVmvUs#!|93I9J1r}_Vw&S#xGFN4xLWZG*>!r- za(|~uf52!ZhUdE2XRjFgej8Z*P7qm6oY?!#bxcMBoCiAmP6dqKin{1>@ z8U1u}Nv|xlPUml_p~Wu6a|h-LQeYQfy3eZEe^1(8{JJ+k-`bPm1aPO24d7r_W71Oq zugRIT7TJ7vo!9(UIHHaohruyowB(!yQX_!I`W5;OZw&;E+!ckbe0>Vv3Fq@&_ady9 zolZMn@g4-fdW!;3dDxIO(0WkzwaFiMWG@-sliCo%?5XW=7`=UVeby&6(U=-XW>@}m zf4QxkYZk)T&h$&J8f*8EsM3oxSgR^smRM;r-25&DaGA)vU`^q9ESwDrmX7QV3N|C| zS;hot_-7fq5l1@_c=)(9J~PK`9 z_X(-!k0Q}w$dj3Qh&r#BW|=lyiVM^7AjLI=)idzGib}hD;fFjWx$XG5h#|~h2f7TM@1GQ%f zFUg4khF1;6u^utwwn_ogwPjD741nn)8^Xy-E}zAxRl3;Ey*Vvf#A_F6e{w3xUNP<0 zbu!J>!$M>!?cY%$2N6hw>+q7Uj&4+Q6s+sa|3O@-3B6IB#EkW>` z6_X`MZh<#G`?jhrXRI_ef796s-%PVc?CvQOi6chE-mIhdPFV&T-|EVK=_&Di4xRH2 z48dfLLVea0A`2neGzCj7hAsvYWU}xC$X19~{?0ARhIj9NlE2RirTp zSa=C<oo@nDZB@WfI0x`$1AL;ke;QoA4S|N*I)IP8 ztRIt#xjV7w4(M!k4rr5n#QbcxR_6Dr*oGaB*Yr55;fmFb{+iVd_a?~i2d1Oe?4w|w#NaD`Z1~c(~tCEcQ$&|?eLhEeeCX&cxS8VWF!gnY;OExv`JW)--O={3l5)kyE0Ewe zHSG^oYxfSONwZWnrCq7x&Mnood!)+%rXB_|2ahUlMIQ6pb6^q6+qBa;&pvO}SVjV(np-%F8BV%xp`= zN7C_Z-ih3we`UHNcE`Z3A(^kw9{NhX=b$V96o5x*&9@u)X#k~3QqmL{rpi~>6ta6R z(R)qd-I002p-E(iCL3jxb44R1a8FpBKgTC&^MjmT=;ap3Cx900b|J;z?Tj1$--xF`8EU^3*P`f z_OgCVs^WM)>u;zx`hf+VC|it|*>2o?Ud0Jsxh^k48VpV?Qgw-nu)iv!ZOksqtAfEBS{nPSQmWdHYUt{cg`J24U5wR$CD zcRwSek(FMFNHn{Cc4oGe?+$5wKg&~0XNOlzSLB|OUV{PeJmvEVxNQ}>qlg+;(&O|e-p^LeIvnS<0xm}uc|bVw^A>`MVGYeF4u5nC0!AF7*^RY*YN#eNOd`o zyYkOs(t-Qa90j`=vQ;z7S)opLadr28p%O)e<8&Z-zZY8xaG-!>QO&6DN(Na@$`$dJV;y1MC8+? zGDo|vRqaX*o=3CAs7gMfXspd(n)@61v}Y<`5O2)}X_0S^_4}5T_`dB?*Nc?fH|c8_ zpxLC4$A?Q*p0{srrb#3AV8HA|vVM0kgos1anSTPsdyd33fFD)7IZa^Hf3^l0p4^~5 ziZ1!Ctf#_igx_BAzFotoAF=q+1+pLRMBS;|U$X1|qxsezmF)(KJd| z5LW^4ohB1ZHfW@EJ)TS^VzmF&#Igx$<$6P4<`~~6+?HDrs{pr;e_?rk&#d!XJ3u4f z1ZKEz1&qkv1NgE5_B%j}%eNuWi1$5!kG-rPld8w;Buw^z&Q|B8H^%Wd@bw_h!*w$u zIFXZ!ORF4(eq1xLy;p#6TLf@ZMaehoTI;ST*=Qa(wkcM!i!|z+u$0{E^S)?rUHGV=$80+|Ko*Ut~ zvKTFnv%li=zR8KGE^3X%RHpNSzvzW&?f(AGu;C`tZWc`Fkz-~0unRVj5$*d`T<{vX zr{(9c$J!!(9(0uaXGpd(^WVVbU|s=5zP2a`H!#|v$Y!vVe|OQx6;`9;wXmbqgx#FY zxrNYALcDY03r`VpH6?vuAq+Pm#+x-6gi?c$+E!H2wPk}L3+cP|9idf9GZ0^rjFey? zY-w>(Xdr~pj7HTw*USWC*@{RsrD%#MzeK{P8%V>k?fSKk?&TBQ>*^&oUq(MQ}O^H_0hd4f0Jg6TtO_=;ORN;(im$BIgZ-n zdm0G->7G@%5ve)h&$Nj6F_eV8h@s;1+!;)h?1{L}(@c3KzxeDb$ zq6hRSf17j4;09A8#}xdw^okf^lzjx!GykFUTWYS6Zvs=zRlrbC2k>PB?A2V0%eNuW zP;&?Hv6uB@Qk^fF-3^_s9&|hW=rRAg2m=Sx>BvbFN|)}&s*~^_N?e+R75|th6f0rH z;u}@)MVKd{^r=8h7)8jT1DmQ{i5UNKzqhs-e+b%5un>YX5F}8Q=DGCmGyg_TPAsI8 zH-i-4Ot>A}O3G<;DC+BmZWhq5C^b{;(~~cIdFYNuR8@%v>BH}N&yZzLihmeQnv2YN zDQ~KR<0v8Sv)8*SvHSDkq|!joz>vo5YhRRZI%HouDUlaPD!nv9~F=w~HF4fq~) zxEdt#VPr<}O-n%p_mZ98)>t}oO*|#hOas<2)mex%eqRkWQe@dGmWZN15QxVRQS?6f zdSTmA9`h3{wKY?AfIJA)2&Z8Fh(>W|e^kr7Z;^4-tC`MD`es@*vgy8T_&<-*dUoGy zOLpa-K*kP-iBJIt!}vjQ3Pz-YZnAP09WYQC698v#{Y|AN#EW=h=ky{>laM>2zQuTp zg5QMDqi!jn<&;8-x+uaVrr@?RdJ5uBUa^$#*zlllA?>^?(Fpr07ps;-=2F?Me;jLL zJxF;0BO6tNseAxgwhsd-nZ0B-iW^Z;w)MU{)k?Y|c6UpnMiuK3`@`~7@;44>vYYuQ z;JaZf(~3rNY<*qTi0tu2XTK3WMuuF8bKiD7YOr!hrGEXxPu$ly6a4vv4u?0XXN^nE zF&sbqd55!C#rm%t|Ha*0D)Bd*f8z3Ghx5dy=J;avtG_36|6(!nx?HA>L%M>jPubYC zK8#dD)!9uIR_D6`j~^zc_7#|7U%;0Q@QDg*aQQaN73I*kTcD4@Pxh6UtUV#9u`bfOs-EUeQ2oJnA=q0;iyX#^d7{wQ#Mp}4Z2GYbxV*ogz56i%8@wO+@6RL+(b!rIM%V(oN9T)?ORYEw zZ=i(0!!8BjGdM+qB8O0MPW6_-OFxx0pD<9S4B!Qarf%U#XjS4%rJ{l6i4ko90Ry36 z02qwdri7Dmj<>+}7S2t=z&(FE)^-r!kbS3o3=I(YmJ1zKe^iXv5Bps^gp~VXv*tKE zmjXr~dKDEFV0W$(`)=pcEoaZ)H;QTGfA%`AyC$Qn_=D9ocVDZc1Qv}rCU?OjzOH5E zQiQRjSVP$oW|oth7f}F?7I|){0BPYQdt+TxDKWd7;w&oNgf$XwENYH;i^0pL0N!- z8(_Z^vbcPkF2FtJp1oT1Zc*pAz53h8FEviMJl#IqypFVAF>8ie;}uGQlpOK~hXZ*hB$SUJlkN^>mD z;bc$)6|6rqZ1pc5`p0$4x4Io(0h$Ej=bk+{?pein|dlPbK5!!SCAg>p1V4P4iHdyWr{NySrD9sNbm90L~_K@zlGGseT5-nU=!xkwymV|V{uUp zrlO=e9>r;7bk?P~s*znk#<|e(@0gws(f|87`bqFWqUeAGmeojexZf}k*_p_q^Pm}G zvo`bg;uee}F(-E~RHxZiG8(XBBsdl3vPT6c?mR=A-V5lj)2w!v@pHaaOeug0uIC zlM1=}*DA=0YRwt5M0WoTXKDt*VP$yGoMLkTe~N2d zKGzT|V(v5aATng`%CbQ!`$*4o{w*ozIjOCZb|fc{M{tc)o^^UlQXV|?An3c|8isI( zRh*11_Tm}|(yIhC1d(sao5!LBkuSq5pSTr7ri=q)UxO)~k#h?JDI#KSMsZ_vxGiq> zJVm-9n?8xLPTp_9Mlb634Y}O}e>XC=juTOO#Vkb1XriE=n;@kc!f7_l8 zgTUG*S{ZL->=QLIws;fyvP1S;MU&6BS@yM8oXE!~5`Wxufs>~4z|Qs$MuYq)-P&L4 zFB!1?>0!wgX>_ueCyeeO?corPn^ZPdnOhfww3Hqha7$WZPNk|Q0FkyAfBnf|N+7Eq z-ucD!QI*=A4M&41&Qhh5SqP8nh^ng*_8f;dkk)U*@+xBF%&6iDbyM#s^G(XBxu{9| zOynO-6)E-wr6@`J`3!dss@@_H-*^Bu03(ic5rj z@fI?+Dh4tqhL<2&BVX-Fe?#U?-s5~eud&xAU}m@pt}(~Gk+c&p@Fy~aW1G#j?Mjor zcFXRB#`~t}W_8@3naCl#*m_t<;jMv1gVSd0*|h{2&o9JvRx|}SgDDs^g`gj<88n1k zs#&!Th%D~GtJX;@xW2{5Con$U_&7P^Df==^uyTw~o1b%F3^F`(fBbwsC5Z)XOK3joy+kPQkh~2m8s;x z-kQfd2I75xMXieqe>?^w1m(N9aFb$KnUh6&^q0YVNkiZQ&?k`O=gv@F`Sc$lC_^It3-HRIkDC>d9tlj4rg~+1Z zEv*bBCrm{bL9*+2vz4QEQ;?oPwgp|a*Q8an&V1}i+u=)4l6EA}!LmkpwRgB+NXjaZ z2r;oMF7Sl2REsIG4s#9$!p=SfLqv{1oAZ_+1VB2cf4q$#bMvp5rW70o3mUn5-dfy> zZ2DxzEpGgG^hwcy14ly_!Ks_@QSd-h>dorW7NVLQ$wUYR?&^)`p)>?LS`nS}(x9vy zvsw>xQ{H>aFv_3mj5!ztmd}_9zl#Ifn!1xC#T3Yv8s~BRNBo4WwXV8?qrtksU|Kt03hj zWjF6wvK6T`A%ksC+5;t6k_LxmrZW*@+N7$Blc6coWR2S<<25^RQ4G@VwIG%~X~2Ss zr9jC;j|fLJnBpzTC%>(JNTROAV0?~yY`vK#e~mn*lh?SD^|*xXxcfE;@OVOykU=mD z!l%CPR|Yq$Fz>l~hL&YUxXZec$P*iWQHX435^frGam2kR4$iwcf0NR8@jj|aGokQm z*-I*EqVN|(o+9Hr)@C6nx4mnwNM&h{77dPbaH*xbTL`QwbHK~H4^%5 ze_}OgaFL&g|Dyz92*^HdZL7PP!@<+UWYjKTM9Pi2fpn+0CQ_RBhtWrZY&)Xw!*~@j zdQr}M54YP2|7nqjM4IV6I98@BvKcmf1J|r!bKewo0*s!y9=-@}Bxd5&rW-j$VDPsV z@yS062|QgG^*W7(ayin zcNjB$cOtDBTc|P#9*Aso`bs{KpD*MVVHCnAX`x)YgOOv1SmIN}+Avx9T*qn#e}SoE z85wV6>R1Yyy3s(s?2u1%EQ`;#S@zJe2J-QV#2+^u_cZ-1bzr^yOV^k~B_QII>=1Qj zm=pI54cBRL5vFvbZ;o45F+oxf|C}tOGI3QykW5gp2XYGHZqiI}u;2_*(S~wkdDzu~ z=s8{aSMrE1LZn&?X)T?dc`Z)%f10ry4DE`;cpU#d2C3}S`nmptw7ND)vH0$;`;|Ph z-@z$)(oA_bo-4m>Zu2?F5JMy6ph22tTb+GeU5M8SebU)i6Ht=G!Rj?JX z-ZN#o!aI{@T1An{*+2r(^rRQ);z9==2(RPUxM5$kgwvs>9Jw2pWFMv>?R!7R6;RNMF)pF_`w3e{n=3SBPlF?71}} z&B3X%(U^UYp6b3aiEZzERA2RAqY@ovc^Zk17dnRU#BISdxFN_;OSgi|-l|AfWY>>t zcINBdhw}jlGWOKjPlAb{a+loufI=$z>R};_Q(3|%qL!#BSds*h^;FTU9HUzGaSBQd zJoylxKTIjfAh1+fe=FmS3{_SmLj|44mmRWKWlcWcX4#i2JCTo1B>uSR4rW{bz|Qv1 zMuYqq(fck^>@7sqirFHK@-?_5o1~oR4Zkd8NU^rVIfGQTJQ-K^ThhYb%_oCY2(bp= zlcIwrv#yP!x$=p?txB(F@_siwo6rcgiD0tZl7aM4ugPmce*!((`@9u|
    1N|Ofp zU^0L2NqKBQ%ppxGb3P7X_oQ>ADbf|WCzsbK#Mess&Wi&Gh>T8D*gUfwiUzGoa|{)mtSxE5oHbaavJMqdp!TGVGruS4qvuFc zh%3`#FnxH?e<;^W0sp`sNMw0GG*7OBQy+4spgaqR_zo%tsSKLjSMVKaz%_lf?fAC3jaUJ|k*qx)tal-FvHn zFqIuvaeX<$6IKMx~M*3ly1ot<@k2()U zZdT2ue{sFkyQ3>Dv-l3u8wp(5nn+7bl16d7i|buxS6sq19lc*M?Ouu>mA;u~!uYWL z*)bK42hUS9(@JQ8WYwY8P%B^HU0k>A!H%tLitGMhWM%ONDK{TD=G>Ed;zl&T$^*iY z;9(&I!^PRDE{-S1*@b;^y_U~PP9*a1(Itbae<&P|Fb!L#<8VqdoxS?S^wr-7Q@g(> z-nyFa9qx^HCpan>K$GAx5*#4~ZdR8F9Mc9zP|3RxDZr1rhn}G&jB8e={T$b);HrV7 zem9y8Bpfe|g;kJpleU_8 zfAynD@g@*C+uYSbT8p!9^@TXVZK5fcVld^98b6*}rlAqi%=ivH=y3MVLK^RSjPG#o zzjwvWPOC^)WY?V=t^&S4eWM`P{=rXz2SW4(7N3FW5j6_o*+wmwCqFC4)05xr{p> zo4q!DFJxW>`cHrP=Rg1MPk;T} R@4x=={{Z7V`$~R%2>^4!s(k Date: Fri, 13 Oct 2023 23:04:40 -0400 Subject: [PATCH 12/28] bump version --- Project.toml | 2 +- paper/paper.fdb_latexmk | 24 ++++++++++++------------ paper/paper.log | 4 ++-- paper/paper.pdf | Bin 349606 -> 349604 bytes paper/paper.tex | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Project.toml b/Project.toml index b8304ac..3007a7d 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "DisjunctiveProgramming" uuid = "0d27d021-0159-4c7d-b4a7-9ccb5d9366cf" authors = ["hdavid16 "] -version = "0.4.0" +version = "0.4.1" [deps] JuMP = "4076af6c-e467-56ae-b986-b466b2749572" diff --git a/paper/paper.fdb_latexmk b/paper/paper.fdb_latexmk index 59ccba9..f399f47 100644 --- a/paper/paper.fdb_latexmk +++ b/paper/paper.fdb_latexmk @@ -1,16 +1,16 @@ # Fdb version 3 -["bibtex paper"] 1697252440 "paper.aux" "paper.bbl" "paper" 1697252443 +["bibtex paper"] 1697252440 "paper.aux" "paper.bbl" "paper" 1697252664 "./juliacon.bst" 1683852295 22186 2eaa317b2b3889daf19a84ad3db6071a "" - "paper.aux" 1697252442 7715 822ea37fa57aa053d638df6ec355f458 "" + "paper.aux" 1697252663 7715 822ea37fa57aa053d638df6ec355f458 "" "ref.bib" 1697252439 27978 dce8ad984b85ef4eb1e3d1e6c104f8d5 "" (generated) - "paper.bbl" "paper.blg" -["pdflatex"] 1697252440 "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" "paper" 1697252443 + "paper.bbl" +["pdflatex"] 1697252662 "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" "paper" 1697252664 "bib.tex" 1683852295 115 fb8dcbd9d4481bde59a06a28ec8a83ca "" "bigm.png" 1683852295 16157 24bd6e3bc27d995ac037e601c6fb5268 "" - "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux" 1697252442 7715 822ea37fa57aa053d638df6ec355f458 "" - "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" 1697252330 26527 6c90a7dae99ca500cb129e96fcdce6c8 "" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.aux" 1697252663 7715 822ea37fa57aa053d638df6ec355f458 "" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.tex" 1697252661 26527 fd78089a63a54012af545feb9ae77edf "" "c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc" 1532704159 4850 80dc9bab7f31fb78a000ccfed0e27cab "" "c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1532703951 2971 def0b6c1f0b107b3b936def894055589 "" "c:/texlive/2018/texmf-dist/fonts/map/fontname/texfonts.map" 1532704303 3332 103109f5612ad95229751940c61aada0 "" @@ -148,16 +148,16 @@ "journal_dat.tex" 1683852295 156 e6e783a18daee23542a412a50a5ce4b0 "" "juliacon.cls" 1683852295 31320 600c1d13c17d8cd54504ceeaf65a3e1c "" "logojuliacon.pdf" 1683852295 4937 0cb75c4e65b0cf72a69c7716f140efe5 "" - "paper.aux" 1697252442 7715 822ea37fa57aa053d638df6ec355f458 "" + "paper.aux" 1697252663 7715 822ea37fa57aa053d638df6ec355f458 "" "paper.bbl" 1697252440 8412 c5f25008db6df29972edfc95473a9694 "bibtex paper" - "paper.out" 1697252442 1369 1f68aa287eaf7868c2396c35550b552d "" - "paper.tex" 1697252330 26527 6c90a7dae99ca500cb129e96fcdce6c8 "" + "paper.out" 1697252663 1369 1f68aa287eaf7868c2396c35550b552d "" + "paper.tex" 1697252661 26527 fd78089a63a54012af545feb9ae77edf "" "solnspace.png" 1683852295 8537 21548aa816215210a45ef0cf5bc6a4c7 "" "superstructure_pfd.png" 1683852295 71484 ccb9c3d50ea30611d678638f05ee9cf0 "" (generated) - "paper.aux" - "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" "paper.log" - "paper.out" "paper.pdf" + "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf" + "paper.aux" "c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.log" + "paper.out" diff --git a/paper/paper.log b/paper/paper.log index 50dab84..73d281b 100644 --- a/paper/paper.log +++ b/paper/paper.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2018.7.27) 13 OCT 2023 23:00 +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/W32TeX) (preloaded format=pdflatex 2018.7.27) 13 OCT 2023 23:04 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -871,7 +871,7 @@ Here is how much of TeX's memory you used: 1141 hyphenation exceptions out of 8191 40i,14n,44p,1244b,2610s stack positions out of 5000i,500n,10000p,200000b,80000s {c:/texlive/2018/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}{c:/texlive/2018/texmf-dist/fonts/enc/dvips/base/8r.enc} -Output written on c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf (6 pages, 349606 bytes). +Output written on c:/Users/HD/Downloads/DisjunctiveProgramming.jl/paper/paper.pdf (6 pages, 349604 bytes). PDF statistics: 436 PDF objects out of 1000 (max. 8388607) 399 compressed objects within 4 object streams diff --git a/paper/paper.pdf b/paper/paper.pdf index 57e295db25789582f479e1a09893cfc271b687e0..6881298f30b3788c6ce1b3e6f9140fceee29dfd8 100644 GIT binary patch delta 6938 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 M2s8>MB}Gq03IQNd$N&HU diff --git a/paper/paper.tex b/paper/paper.tex index 1ad808e..09d8fa4 100644 --- a/paper/paper.tex +++ b/paper/paper.tex @@ -233,7 +233,7 @@ \subsection{Features} Nesting of disjunctions is also supported. \subsection{Example} -To illustrate the syntax in \verb|DisjunctiveProgramming.jl| (Version 0.4.0), consider the simple superstructure optimization problem for the chemical process given in Figure \ref{fig:superstruct_opt_diagram}. In this problem a chemical plant with two candidate reactor technologies ($R_1$ and $R_2$) must be designed. If the second reactor technology is chosen, a separation system must also be installed, for which two separation technologies ($S_1$ and $S_2$) are available. The GDP model seeks to maximize the product flow ($F_7$), while discounting for reactor ($C_R$) and separator ($C_S$) installation costs as given in \eqref{eq:example_obj}, subject to the nested disjunction in \eqref{eq:example_gdp} and the global mass balances in \eqref{eq:example_global} +To illustrate the syntax in \verb|DisjunctiveProgramming.jl| (Version 0.4.1), consider the simple superstructure optimization problem for the chemical process given in Figure \ref{fig:superstruct_opt_diagram}. In this problem a chemical plant with two candidate reactor technologies ($R_1$ and $R_2$) must be designed. If the second reactor technology is chosen, a separation system must also be installed, for which two separation technologies ($S_1$ and $S_2$) are available. The GDP model seeks to maximize the product flow ($F_7$), while discounting for reactor ($C_R$) and separator ($C_S$) installation costs as given in \eqref{eq:example_obj}, subject to the nested disjunction in \eqref{eq:example_gdp} and the global mass balances in \eqref{eq:example_global} - \eqref{eq:example_global1}. The system variables are the flows on each stream $i$ ($F_i$) and the installation costs, with their respective bounds given in \eqref{eq:example_var1} - \eqref{eq:example_var3}. The fixed cost and process yield parameters are given by $\gamma$ and $\beta$, respectively. \begin{figure} From fa7ba81070f7696eaa73b2ef7316ec2f0b83b423 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 13 Oct 2023 23:13:10 -0400 Subject: [PATCH 13/28] update autodocs --- docs/src/api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/api.md b/docs/src/api.md index d05fa94..d243fc9 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -1,6 +1,6 @@ # API ```@autodocs -Modules = [Foo, Bar, Bar.Baz] -Order = [:function, :type] +Modules = [DisjunctiveProgramming] +Order = [:type, :function] ``` \ No newline at end of file From ded3433a6e42c9624dddc50b91810bb51d05ece3 Mon Sep 17 00:00:00 2001 From: hdavid16 Date: Fri, 13 Oct 2023 23:28:40 -0400 Subject: [PATCH 14/28] fix cross ref --- src/constraints.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constraints.jl b/src/constraints.jl index 4bc41d3..4d19a5e 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -234,7 +234,7 @@ end name::String = "" )::DisjunctConstraintRef -Extend `JuMP.add_constraint` to add a [`_DisjunctConstraint`](@ref) to a [`GDPModel`](@ref). +Extend `JuMP.add_constraint` to add a [`DisjunctConstraint`](@ref) to a [`GDPModel`](@ref). The constraint is added to the `GDPData` in the `.ext` dictionary of the `GDPModel`. """ function JuMP.add_constraint( From 4c756f80c357897157a233ffb99675174c5087d0 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 23:47:59 -0400 Subject: [PATCH 15/28] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5da7f91..1833b5f 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Generalized Disjunctive Programming (GDP) extension to JuMP, based on the GDP mo ![](logo.png) [![codecov](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl/graph/badge.svg?token=3FRPGMWF0J)](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl) -[![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/stable/) -[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/dev/) +[![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://hdavid16.github.io/DisjunctiveProgramming.jl/stable/) +[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://hdavid16.github.io/DisjunctiveProgramming.jl/dev/) ## Installation @@ -215,4 +215,4 @@ print(m) ## Contributing `DisjunctiveProgramming` is being actively developed and suggestions or other forms of contribution are encouraged. -There are many ways to contribute to this package. Feel free to create an issue to address questions or provide feedback. \ No newline at end of file +There are many ways to contribute to this package. Feel free to create an issue to address questions or provide feedback. From bd489423233acafe0cad9eb1ab64f5033baac97c Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Fri, 13 Oct 2023 23:48:14 -0400 Subject: [PATCH 16/28] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5da7f91..1833b5f 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Generalized Disjunctive Programming (GDP) extension to JuMP, based on the GDP mo ![](logo.png) [![codecov](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl/graph/badge.svg?token=3FRPGMWF0J)](https://codecov.io/gh/hdavid16/DisjunctiveProgramming.jl) -[![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/stable/) -[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://hdavid16.github.io/InventoryManagement.jl/dev/) +[![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://hdavid16.github.io/DisjunctiveProgramming.jl/stable/) +[![Docs](https://img.shields.io/badge/docs-latest-blue.svg)](https://hdavid16.github.io/DisjunctiveProgramming.jl/dev/) ## Installation @@ -215,4 +215,4 @@ print(m) ## Contributing `DisjunctiveProgramming` is being actively developed and suggestions or other forms of contribution are encouraged. -There are many ways to contribute to this package. Feel free to create an issue to address questions or provide feedback. \ No newline at end of file +There are many ways to contribute to this package. Feel free to create an issue to address questions or provide feedback. From afed95fa2ef03d013bd7822710b64d880571e917 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Sat, 14 Oct 2023 09:21:27 -0400 Subject: [PATCH 17/28] remove unused function --- src/logic.jl | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/logic.jl b/src/logic.jl index 56eb198..70ed443 100644 --- a/src/logic.jl +++ b/src/logic.jl @@ -29,22 +29,6 @@ for (name, alt, head, func) in ( end end -""" - to_cnf!(expr::Expr) - -Convert an expression of symbolic Boolean variables and operators to CNF. -""" -function to_cnf!(expr::Expr) - check_logical_proposition(expr) #check that valid boolean symbols and variables are used in the logical proposition - eliminate_equivalence!(expr) #eliminate ⇔ - eliminate_implication!(expr) #eliminmate ⇒ - move_negations_inwards!(expr) #expand ¬ - clause_list = distribute_and_over_or_recursively!(expr) #distribute ∧ over ∨ recursively - @assert !isempty(clause_list) "Conversion to CNF failed." - - return clause_list -end - ################################################################################ # CONJUNCTIVE NORMAL FORM ################################################################################ @@ -307,4 +291,4 @@ function _reformulate_clause(model::JuMP.Model, lexpr::_LogicalExpr) error("Expression was not converted to proper Conjunctive Normal Form:\n$lexpr.") end return func -end \ No newline at end of file +end From 37cc24df86ac0e300593a3d82566b4c690958832 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Sat, 14 Oct 2023 12:36:15 -0400 Subject: [PATCH 18/28] remove unused function --- src/model.jl | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/model.jl b/src/model.jl index 288a077..634aba1 100644 --- a/src/model.jl +++ b/src/model.jl @@ -49,16 +49,6 @@ function is_gdp_model(model::JuMP.Model) return haskey(model.ext, :GDP) end -""" - disjunction_indicators(disjunction::DisjunctionRef) - -Return LogicalVariableRefs associated with a disjunction. -""" -function disjunction_indicators(disjunction::DisjunctionRef) - model, idx = disjunction.model, disjunction.index - return _disjunctions(model)[idx].constraint.indicators -end - # Create accessors for GDP data fields _logical_variables(model::JuMP.Model) = gdp_data(model).logical_variables _logical_constraints(model::JuMP.Model) = gdp_data(model).logical_constraints @@ -81,4 +71,4 @@ end function _set_solution_method(model::JuMP.Model, method::AbstractSolutionMethod) gdp_data(model).solution_method = method return -end \ No newline at end of file +end From 469c1f7f42998f12b7e6f08dd3886e41fb52d285 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Sat, 14 Oct 2023 12:38:22 -0400 Subject: [PATCH 19/28] remove unused functions --- src/reformulate.jl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/reformulate.jl b/src/reformulate.jl index fd1c3c8..dcef0d6 100644 --- a/src/reformulate.jl +++ b/src/reformulate.jl @@ -122,9 +122,6 @@ function _reformulate_disjunct(model::JuMP.Model, ref_cons::Vector{JuMP.Abstract return end -_index_to_constraint(model::JuMP.Model, cidx::DisjunctConstraintIndex) = _disjunct_constraints(model)[cidx] -_index_to_constraint(model::JuMP.Model, cidx::DisjunctionIndex) = _disjunctions(model)[cidx] - # reformulation for nested disjunction # NOTE: name of inner disjunction (if given) is currently lost (not passed upwards) function reformulate_disjunct_constraint( @@ -166,4 +163,4 @@ function _reformulate_logical_constraint(model::JuMP.Model, func, set::Union{_MO end function _reformulate_logical_constraint(model::JuMP.Model, func, set::IsTrue) return _reformulate_proposition(model, func) -end \ No newline at end of file +end From 62393b22df2559b463e79158bd9bc41fedabc304 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Sat, 14 Oct 2023 18:32:38 -0400 Subject: [PATCH 20/28] bug fix --- src/variables.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/variables.jl b/src/variables.jl index 922e2cb..1a28da5 100644 --- a/src/variables.jl +++ b/src/variables.jl @@ -23,14 +23,14 @@ function JuMP.build_variable( _error("Logical variables cannot have bounds.") elseif info.integer _error("Logical variables cannot be integer valued.") - elseif info.has_fix && !isone(info.fix) && !iszero(info.fix) - _error("Invalid fix value, must be 0 or 1.") + elseif info.has_fix && !isone(info.fixed_value) && !iszero(info.fixed_value) + _error("Invalid fix value, must be false or true.") elseif info.has_start && !isone(info.start) && !iszero(info.start) - _error("Invalid start value, must be 0 or 1.") + _error("Invalid start value, must be false or true.") end # create the variable - fix = info.has_fix ? Bool(info.fix) : nothing + fix = info.has_fix ? Bool(info.fixed_value) : nothing start = info.has_start ? Bool(info.start) : nothing return LogicalVariable(fix, start) end From 9a1fcf3ec12eee2c7b472a8673dd825bc5aea53a Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Sat, 14 Oct 2023 18:32:41 -0400 Subject: [PATCH 21/28] add tests --- src/constraints.jl | 2 +- src/logic.jl | 4 ++-- test/constraints/bigm.jl | 12 +++++----- test/constraints/disjunct.jl | 1 + test/constraints/fallback.jl | 10 ++++++++ test/constraints/hull.jl | 39 ++++++++++++++++++++++++++++++ test/constraints/indicator.jl | 7 +++--- test/constraints/proposition.jl | 42 ++++++++++++++++++++++++++++++++- test/disjunction.jl | 18 ++++++++++++-- test/jump.jl | 13 ++++++++++ test/model.jl | 17 +++++++++++++ test/runtests.jl | 2 ++ test/variables/logical.jl | 24 +++++++++++++++++++ 13 files changed, 176 insertions(+), 15 deletions(-) create mode 100644 test/constraints/fallback.jl create mode 100644 test/jump.jl diff --git a/src/constraints.jl b/src/constraints.jl index 4d19a5e..2a59421 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -379,7 +379,7 @@ function disjunction( model::JuMP.Model, disjunct_indicators, nested_tag::DisjunctConstraint, - name::String = "", + name::String = "" ) # TODO add kw argument to build exactly 1 constraint return _disjunction(error, model, disjunct_indicators, name, nested_tag) end diff --git a/src/logic.jl b/src/logic.jl index 70ed443..60db64f 100644 --- a/src/logic.jl +++ b/src/logic.jl @@ -57,7 +57,7 @@ function _eliminate_equivalence(lexpr::_LogicalExpr) elseif length(lexpr.args) == 2 B = _eliminate_equivalence(lexpr.args[2]) else - error("The equivalence logic operator must have at least two arguments.") + error("The equivalence logic operator must have at least two clauses.") end new_lexpr = _LogicalExpr(:&&, Any[ _LogicalExpr(:(=>), Any[A, B]), @@ -101,7 +101,7 @@ end function _move_negations_inward(lexpr::_LogicalExpr) if lexpr.head == :! if length(lexpr.args) != 1 - error("The negation operator can only have 1 clause.") + error("The negation operator can only have one clause.") end new_lexpr = _negate(lexpr.args[1]) else diff --git a/test/constraints/bigm.jl b/test/constraints/bigm.jl index d31d9e3..eef1872 100644 --- a/test/constraints/bigm.jl +++ b/test/constraints/bigm.jl @@ -202,7 +202,7 @@ function test_nonpositives_bigm() @test ref[1].set == MOI.Nonpositives(2) end -function test_greaterhan_bigm() +function test_greaterthan_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) @@ -231,7 +231,7 @@ function test_nonnegatives_bigm() @test ref[1].set == MOI.Nonnegatives(2) end -function test_greaterhan_bigm() +function test_equalto_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) @@ -247,7 +247,7 @@ function test_greaterhan_bigm() @test ref[2].set == MOI.LessThan(5.0 + 100) end -function test_greaterhan_bigm() +function test_interval_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) @@ -320,10 +320,10 @@ end test_calculate_tight_M() test_lessthan_bigm() test_nonpositives_bigm() - test_greaterhan_bigm() + test_greaterthan_bigm() test_nonnegatives_bigm() - test_greaterhan_bigm() - test_greaterhan_bigm() + test_equalto_bigm() + test_interval_bigm() test_zeros_bigm() test_nested_bigm() end \ No newline at end of file diff --git a/test/constraints/disjunct.jl b/test/constraints/disjunct.jl index 6b7c80b..64f6377 100644 --- a/test/constraints/disjunct.jl +++ b/test/constraints/disjunct.jl @@ -7,6 +7,7 @@ function test_disjunct_add_fail() @variable(model, w, Logical) @variable(model, z, Bin) @test_macro_throws UndefVarError @constraint(model, z == 1, DisjunctConstraint(w)) # binary variable + @test_throws ErrorException build_constraint(error, 1z, MOI.EqualTo(1), DisjunctConstraint(w)) # binary variable end function test_disjunct_add_success() diff --git a/test/constraints/fallback.jl b/test/constraints/fallback.jl new file mode 100644 index 0000000..9e256fb --- /dev/null +++ b/test/constraints/fallback.jl @@ -0,0 +1,10 @@ +function test_reformulate_disjunct_constraint_fallback() + model = GDPModel() + @variable(model, x) + c = build_constraint(error, 1x, MOI.LessThan(1)) + @test_throws ErrorException reformulate_disjunct_constraint(model, c, x, DummyReformulation()) +end + +@testset "Fallbacks" begin + test_reformulate_disjunct_constraint_fallback() +end \ No newline at end of file diff --git a/test/constraints/hull.jl b/test/constraints/hull.jl index 460f60c..f4f9fdf 100644 --- a/test/constraints/hull.jl +++ b/test/constraints/hull.jl @@ -341,6 +341,18 @@ function test_vector_quadratic_hull_1sided(moiset) @test ref[1].set == moiset(2) end #less than, greater than, equalto +function test_scalar_nonlinear_hull_1sided_error() + model = GDPModel() + @variable(model, 10 <= x <= 100) + @variable(model, z, Logical) + @constraint(model, con, log(x) <= 10, DisjunctConstraint(z)) + DP._reformulate_logical_variables(model) + zbin = variable_by_name(model, "z") + ϵ = 1e-3 + method = DP._Hull(Hull(ϵ, Dict(x => (0., 100.))), Set([x])) + DP._disaggregate_variables(model, z, Set([x]), method) + @test_throws ErrorException reformulate_disjunct_constraint(model, constraint_object(con), zbin, method) +end function test_scalar_nonlinear_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @@ -371,6 +383,18 @@ function test_scalar_nonlinear_hull_1sided(moiset) @test DP._set_value(ref[1].set) == 0 end #nonpositives, nonnegatives, zeros +function test_vector_nonlinear_hull_1sided_error() + model = GDPModel() + @variable(model, 10 <= x <= 100) + @variable(model, z, Logical) + @constraint(model, con, [log(x),log(x)] <= [10,10], DisjunctConstraint(z)) + DP._reformulate_logical_variables(model) + zbin = variable_by_name(model, "z") + ϵ = 1e-3 + method = DP._Hull(Hull(ϵ, Dict(x => (0., 100.))), Set([x])) + DP._disaggregate_variables(model, z, Set([x]), method) + @test_throws ErrorException reformulate_disjunct_constraint(model, constraint_object(con), zbin, method) +end function test_vector_nonlinear_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @@ -471,6 +495,18 @@ function test_scalar_quadratic_hull_2sided() @test DP._set_value(ref[i].set) == 0 end end +function test_scalar_nonlinear_hull_2sided_error() + model = GDPModel() + @variable(model, 10 <= x <= 100) + @variable(model, z, Logical) + @constraint(model, con, 0 <= log(x) <= 10, DisjunctConstraint(z)) + DP._reformulate_logical_variables(model) + zbin = variable_by_name(model, "z") + ϵ = 1e-3 + method = DP._Hull(Hull(ϵ, Dict(x => (0., 100.))), Set([x])) + DP._disaggregate_variables(model, z, Set([x]), method) + @test_throws ErrorException reformulate_disjunct_constraint(model, constraint_object(con), zbin, method) +end function test_scalar_nonlinear_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) @@ -525,14 +561,17 @@ end test_scalar_quadratic_hull_1sided(s) test_scalar_nonlinear_hull_1sided(s) end + test_scalar_nonlinear_hull_1sided_error() for s in (MOI.Nonpositives, MOI.Nonnegatives, MOI.Zeros) test_vector_var_hull_1sided(s) test_vector_affine_hull_1sided(s) test_vector_quadratic_hull_1sided(s) test_vector_nonlinear_hull_1sided(s) end + test_vector_nonlinear_hull_1sided_error() test_scalar_var_hull_2sided() test_scalar_affine_hull_2sided() test_scalar_quadratic_hull_2sided() test_scalar_nonlinear_hull_2sided() + test_scalar_nonlinear_hull_2sided_error() end \ No newline at end of file diff --git a/test/constraints/indicator.jl b/test/constraints/indicator.jl index 2c17f03..f6697c5 100644 --- a/test/constraints/indicator.jl +++ b/test/constraints/indicator.jl @@ -23,15 +23,16 @@ function test_indicator_vector_constraints() model = GDPModel() A = [1 0; 0 1] @variable(model, x) - @variable(model, y[1:2], Logical) + @variable(model, y[1:3], Logical) @constraint(model, A*[x,x] == [5,5], DisjunctConstraint(y[1])) - @constraint(model, A*[x,x] == [10,10], DisjunctConstraint(y[2])) + @constraint(model, A*[x,x] <= [0,0], DisjunctConstraint(y[2])) + @constraint(model, A*[x,x] >= [10,10], DisjunctConstraint(y[3])) @disjunction(model, y) reformulate_model(model, Indicator()) ref_cons = DP._reformulation_constraints(model) ref_cons_obj = constraint_object.(ref_cons) - @test length(ref_cons) == 4 + @test length(ref_cons) == 6 @test all(is_valid.(model, ref_cons)) @test all(isa.(ref_cons_obj, VectorConstraint)) @test all([cobj.set isa MOI.Indicator for cobj in ref_cons_obj]) diff --git a/test/constraints/proposition.jl b/test/constraints/proposition.jl index 429eb77..7e2173f 100644 --- a/test/constraints/proposition.jl +++ b/test/constraints/proposition.jl @@ -1,6 +1,14 @@ +function test_op_fallback() + @test_throws ErrorException iff(1,1) + @test_throws ErrorException implies(1,1) + @test_throws ErrorException 1 ⇔ 1 + @test_throws ErrorException 1 ⟹ 1 +end + function test_proposition_add_fail() m = GDPModel() @variable(m, y[1:3], Logical) + @test_throws ErrorException @constraint(m, y[1] in IsTrue()) @test_throws ErrorException @constraint(Model(), logical_or(y...) in IsTrue()) @test_throws ErrorException @constraint(m, logical_or(y...) == 2) @test_throws ErrorException @constraint(m, logical_or(y...) <= 1) @@ -262,6 +270,13 @@ function test_eliminate_equivalence() @test Set(new_ex.args[2].args) == Set{Any}(y) end +function test_eliminate_equivalence_error() + model = GDPModel() + @variable(model, y, Logical) + ex = iff(y) + @test_throws ErrorException DP._eliminate_equivalence(ex) +end + function test_eliminate_equivalence_flat() model = GDPModel() @variable(model, y[1:3], Logical) @@ -390,7 +405,7 @@ end function test_negate_and_error() model = GDPModel() @variable(model, y, Logical) - @test_throws ErrorException DP._negate_or(∧(y)) + @test_throws ErrorException DP._negate_and(∧(y)) end function test_negate_negation() @@ -419,6 +434,13 @@ function test_distribute_and_over_or() @test y[3] in new_ex.args[1].args || y[3] in new_ex.args[2].args end +function test_distribute_and_over_or_error() + model = GDPModel() + @variable(model, y[1:2], Logical) + ex = ∨(y[1] ∧ y[2]) + @test_throws ErrorException DP._distribute_and_over_or(ex) +end + function test_distribute_and_over_or_nested() model = GDPModel() @variable(model, y[1:4], Logical) @@ -486,7 +508,21 @@ function test_to_cnf() (!(y[1] in new_ex.args[6].args) && !(y[2] in new_ex.args[6].args) && y[3] in new_ex.args[6].args) end +function test_isa_literal_other() + @test !DP._isa_literal(1) +end + +function test_reformulate_clause_error() + model = GDPModel() + @variable(model, y[1:2], Logical) + ex = y[1] ∧ y[2] + @test_throws ErrorException DP._reformulate_clause(model, ex) +end + @testset "Logical Proposition Constraints" begin + @testset "Logical Operators" begin + test_op_fallback() + end @testset "Add Proposition" begin test_proposition_add_fail() test_negation_add_success() @@ -505,10 +541,13 @@ end test_equivalence_reformulation() test_intersection_reformulation() test_implication_reformulation() + test_reformulate_clause_error() end @testset "Conjunctive Normal Form" begin + test_isa_literal_other() test_lvar_cnf_functions() test_eliminate_equivalence() + test_eliminate_equivalence_error() test_eliminate_equivalence_flat() test_eliminate_equivalence_nested() test_eliminate_implication() @@ -525,6 +564,7 @@ end test_negate_negation() test_negate_negation_error() test_distribute_and_over_or() + test_distribute_and_over_or_error() test_distribute_and_over_or_nested() test_to_cnf() end diff --git a/test/disjunction.jl b/test/disjunction.jl index b44620f..728d9da 100644 --- a/test/disjunction.jl +++ b/test/disjunction.jl @@ -3,14 +3,17 @@ function test_disjunction_add_fail() @variable(model, x) @variable(model, y[1:2], Logical) @constraint(model, x == 5, DisjunctConstraint(y[1])) - + @test_macro_throws ErrorException @disjunction(model) #not enough arguments @test_macro_throws UndefVarError @disjunction(model, y) #unassociated indicator @test_macro_throws UndefVarError @disjunction(GDPModel(), y) #wrong model @test_macro_throws ErrorException @disjunction(Model(), y) #not a GDPModel @test_macro_throws UndefVarError @disjunction(model, [y[1], y[1]]) #duplicate indicator - @test_macro_throws UndefVarError @disjunction(model, y[1]) #no disjunction expression + @test_macro_throws UndefVarError @disjunction(model, y[1]) #unrecognized disjunction expression + @test_throws ErrorException disjunction(model, y[1]) #unrecognized disjunction expression + @test_throws ErrorException disjunction(model, [1]) #unrecognized disjunction expression @test_macro_throws UndefVarError @disjunction(model, y, "random_arg") #unrecognized extra argument + @test_throws ErrorException DP._disjunction(error, model, y, "y", "random_arg") #unrecognized extra argument @test_macro_throws ErrorException @disjunction(model, "ABC") #unrecognized structure @test_macro_throws ErrorException @disjunction(model, begin y end) #@disjunctions (plural) @test_macro_throws UndefVarError @disjunction(model, x, y) #name x already exists @@ -106,6 +109,16 @@ function test_disjunction_add_sparse_axis() @test Set(keys(disj.data)) == Set([(1,2),(1,3),(2,3)]) end +function test_disjunctions_add_fail() + model = GDPModel() + @variable(model, x) + @variable(model, y[1:2], Logical) + @variable(model, z[1:2], Logical) + @constraint(model, x <= 5, DisjunctConstraint(y[1])) + @constraint(model, x >= 5, DisjunctConstraint(y[2])) + @test_macro_throws ErrorException @disjunctions(model, y) +end + function test_disjunctions_add_success() model = GDPModel() @variable(model, x) @@ -203,6 +216,7 @@ end test_disjunction_add_array() test_disjunciton_add_dense_axis() test_disjunction_add_sparse_axis() + test_disjunctions_add_fail() test_disjunctions_add_success() test_disjunction_function() test_disjunction_function_nested() diff --git a/test/jump.jl b/test/jump.jl new file mode 100644 index 0000000..22db7ca --- /dev/null +++ b/test/jump.jl @@ -0,0 +1,13 @@ +function test_moi_set() + for (jumpset, moisettype) in [(AtLeast(1), DP._MOIAtLeast), + (AtMost(1), DP._MOIAtMost), + (Exactly(1), DP._MOIExactly)] + moiset = moi_set(jumpset, 10) + @test moiset isa moisettype + @test moiset.dimension == 10 + end +end + +@testset "JuMP" begin + test_moi_set() +end \ No newline at end of file diff --git a/test/model.jl b/test/model.jl index 83a2f4b..efbbd26 100644 --- a/test/model.jl +++ b/test/model.jl @@ -1,5 +1,21 @@ using HiGHS +function test_GDPData() + gdpdata = GDPData( + DP._MOIUC.CleverDict{LogicalVariableIndex, LogicalVariableData}(), + DP._MOIUC.CleverDict{LogicalConstraintIndex, ConstraintData}(), + DP._MOIUC.CleverDict{DisjunctConstraintIndex, ConstraintData}(), + DP._MOIUC.CleverDict{DisjunctionIndex, ConstraintData{Disjunction}}(), + Dict{LogicalVariableRef, JuMP.VariableRef}(), + Dict{LogicalVariableRef, Vector{Union{DisjunctConstraintRef, DisjunctionRef}}}(), + Vector{JuMP.VariableRef}(), + Vector{JuMP.ConstraintRef}(), + nothing, + false + ) + gdpdata isa GDPData +end + function test_empty_model() model = GDPModel() @test gdp_data(model) isa GDPData @@ -32,6 +48,7 @@ function test_set_optimizer() end @testset "GDP Model" begin + test_GDPData() test_empty_model() test_non_gdp_model() test_creation_optimizer() diff --git a/test/runtests.jl b/test/runtests.jl index b443d68..35676e2 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -27,6 +27,7 @@ end include("aqua.jl") include("model.jl") +include("jump.jl") include("variables/query.jl") include("variables/logical.jl") include("constraints/selector.jl") @@ -35,5 +36,6 @@ include("constraints/disjunct.jl") include("constraints/indicator.jl") include("constraints/bigm.jl") include("constraints/hull.jl") +include("constraints/fallback.jl") include("disjunction.jl") include("solve.jl") \ No newline at end of file diff --git a/test/variables/logical.jl b/test/variables/logical.jl index b57a024..d187575 100644 --- a/test/variables/logical.jl +++ b/test/variables/logical.jl @@ -1,7 +1,21 @@ # test creating, modifying, and reformulating logical variables + +function test_base() + model = GDPModel() + @variable(model, y, Logical) + @test Base.broadcastable(y) isa Base.RefValue{LogicalVariableRef} + @test length(y) == 1 +end + function test_lvar_add_fail() model = Model() @test_throws ErrorException @variable(model, y, Logical) + @test_throws ErrorException @variable(model, y, Logical; kwarg=true) + @test_throws ErrorException @variable(model, 0 <= y, Logical) + @test_throws ErrorException @variable(model, y <= 1, Logical) + @test_throws ErrorException @variable(model, y, Logical, integer=true) + @test_throws ErrorException @variable(model, y, Logical, start=2) + @test_throws ErrorException @variable(model, y == 2, Logical) end function test_lvar_add_success() @@ -75,6 +89,12 @@ function test_lvar_set_start_value() test_lvar_reformulation(model, y) end +function test_lvar_creation_fix_value() + model = GDPModel() + @variable(model, y == true, Logical) + @test fix_value(y) +end + function test_lvar_fix_value() model = GDPModel() @variable(model, y, Logical) @@ -146,6 +166,9 @@ function test_lvar_reformulation(model::Model, lvref::LogicalVariableRef) end @testset "Logical Variables" begin + @testset "Base Methods" begin + test_base() + end @testset "Add Logical Variables" begin test_lvar_add_fail() test_lvar_add_success() @@ -157,6 +180,7 @@ end test_lvar_set_name() test_lvar_creation_start_value() test_lvar_set_start_value() + test_lvar_creation_fix_value() test_lvar_fix_value() end @testset "Delete Logical Variables" begin From 590fd8b4197f8901ec18fbe1a62ae322876ad515 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Mon, 16 Oct 2023 11:26:00 -0400 Subject: [PATCH 22/28] remove JuMP prefix --- examples/ex5.jl | 2 +- examples/ex6.jl | 2 +- src/bigm.jl | 116 ++++++++++++++++----------------- src/constraints.jl | 120 +++++++++++++++++----------------- src/datatypes.jl | 72 ++++++++++----------- src/hull.jl | 156 ++++++++++++++++++++++----------------------- src/indicator.jl | 22 +++---- src/logic.jl | 40 ++++++------ src/macros.jl | 6 +- src/model.jl | 42 ++++++------ src/reformulate.jl | 62 +++++++++--------- src/variables.jl | 98 ++++++++++++++-------------- 12 files changed, 369 insertions(+), 369 deletions(-) diff --git a/examples/ex5.jl b/examples/ex5.jl index 92bbb31..d81e938 100644 --- a/examples/ex5.jl +++ b/examples/ex5.jl @@ -1,4 +1,4 @@ -# https://arxiv.org/pdf/2303.04375.pdf +# Nested GDP: https://arxiv.org/pdf/2303.04375.pdf using DisjunctiveProgramming ## diff --git a/examples/ex6.jl b/examples/ex6.jl index 114f78f..0e057cc 100644 --- a/examples/ex6.jl +++ b/examples/ex6.jl @@ -1,6 +1,6 @@ using DisjunctiveProgramming -## +## Multi-level Nested GDP m = GDPModel() @variable(m, -5 <= x[1:3] <= 5) diff --git a/src/bigm.jl b/src/bigm.jl index d4598c5..97d1d7f 100644 --- a/src/bigm.jl +++ b/src/bigm.jl @@ -2,7 +2,7 @@ # BIG-M VALUE ################################################################################ # Get Big-M value for a particular constraint -function _get_M_value(func::JuMP.AbstractJuMPScalar, set::_MOI.AbstractSet, method::BigM) +function _get_M_value(func::AbstractJuMPScalar, set::_MOI.AbstractSet, method::BigM) if method.tighten M = _get_tight_M(func, set, method) else @@ -12,7 +12,7 @@ function _get_M_value(func::JuMP.AbstractJuMPScalar, set::_MOI.AbstractSet, meth end # Get the tightest Big-M value for a particular constraint -function _get_tight_M(func::JuMP.AbstractJuMPScalar, set::_MOI.AbstractSet, method::BigM) +function _get_tight_M(func::AbstractJuMPScalar, set::_MOI.AbstractSet, method::BigM) M = min.(method.value, _calculate_tight_M(func, set, method)) #broadcast for when S <: MOI.Interval or MOI.EqualTo or MOI.Zeros if any(isinf.(M)) error("A finite Big-M value must be used. The value obtained was $M.") @@ -21,14 +21,14 @@ function _get_tight_M(func::JuMP.AbstractJuMPScalar, set::_MOI.AbstractSet, meth end # Get user-specified Big-M value -function _get_M(::JuMP.AbstractJuMPScalar, ::Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.Nonnegatives, _MOI.Nonpositives}, method::BigM) +function _get_M(::AbstractJuMPScalar, ::Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.Nonnegatives, _MOI.Nonpositives}, method::BigM) M = method.value if isinf(M) error("A finite Big-M value must be used. The value given was $M.") end return M end -function _get_M(::JuMP.AbstractJuMPScalar, ::Union{_MOI.Interval, _MOI.EqualTo, _MOI.Zeros}, method::BigM) +function _get_M(::AbstractJuMPScalar, ::Union{_MOI.Interval, _MOI.EqualTo, _MOI.Zeros}, method::BigM) M = method.value if isinf(M) error("A finite Big-M value must be used. The value given was $M.") @@ -37,64 +37,64 @@ function _get_M(::JuMP.AbstractJuMPScalar, ::Union{_MOI.Interval, _MOI.EqualTo, end # Apply interval arithmetic on a linear constraint to infer the tightest Big-M value from the bounds on the constraint. -function _calculate_tight_M(func::JuMP.AffExpr, set::_MOI.LessThan, method::BigM) +function _calculate_tight_M(func::AffExpr, set::_MOI.LessThan, method::BigM) return _interval_arithmetic_LessThan(func, -set.upper, method) end -function _calculate_tight_M(func::JuMP.AffExpr, set::_MOI.GreaterThan, method::BigM) +function _calculate_tight_M(func::AffExpr, set::_MOI.GreaterThan, method::BigM) return _interval_arithmetic_GreaterThan(func, -set.lower, method) end -function _calculate_tight_M(func::JuMP.AffExpr, ::_MOI.Nonpositives, method::BigM) +function _calculate_tight_M(func::AffExpr, ::_MOI.Nonpositives, method::BigM) return _interval_arithmetic_LessThan(func, 0.0, method) end -function _calculate_tight_M(func::JuMP.AffExpr, ::_MOI.Nonnegatives, method::BigM) +function _calculate_tight_M(func::AffExpr, ::_MOI.Nonnegatives, method::BigM) return _interval_arithmetic_GreaterThan(func, 0.0, method) end -function _calculate_tight_M(func::JuMP.AffExpr, set::_MOI.Interval, method::BigM) +function _calculate_tight_M(func::AffExpr, set::_MOI.Interval, method::BigM) return ( _interval_arithmetic_GreaterThan(func, -set.lower, method), _interval_arithmetic_LessThan(func, -set.upper, method) ) end -function _calculate_tight_M(func::JuMP.AffExpr, set::_MOI.EqualTo, method::BigM) +function _calculate_tight_M(func::AffExpr, set::_MOI.EqualTo, method::BigM) return ( _interval_arithmetic_GreaterThan(func, -set.value, method), _interval_arithmetic_LessThan(func, -set.value, method) ) end -function _calculate_tight_M(func::JuMP.AffExpr, ::_MOI.Zeros, method::BigM) +function _calculate_tight_M(func::AffExpr, ::_MOI.Zeros, method::BigM) return ( _interval_arithmetic_GreaterThan(func, 0.0, method), _interval_arithmetic_LessThan(func, 0.0, method) ) end # fallbacks for other scalar constraints -_calculate_tight_M(func::Union{JuMP.QuadExpr, JuMP.NonlinearExpr}, set::Union{_MOI.Interval, _MOI.EqualTo, _MOI.Zeros}, method::BigM) = (Inf, Inf) -_calculate_tight_M(func::Union{JuMP.QuadExpr, JuMP.NonlinearExpr}, set::Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.Nonnegatives, _MOI.Nonpositives}, method::BigM) = Inf +_calculate_tight_M(func::Union{QuadExpr, NonlinearExpr}, set::Union{_MOI.Interval, _MOI.EqualTo, _MOI.Zeros}, method::BigM) = (Inf, Inf) +_calculate_tight_M(func::Union{QuadExpr, NonlinearExpr}, set::Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.Nonnegatives, _MOI.Nonpositives}, method::BigM) = Inf _calculate_tight_M(func, set, method::BigM) = error("BigM method not implemented for constraint type $(typeof(func)) in $(typeof(set))") # get variable bounds for interval arithmetic -function _update_variable_bounds(vref::JuMP.VariableRef, method::BigM) - if JuMP.is_binary(vref) +function _update_variable_bounds(vref::VariableRef, method::BigM) + if is_binary(vref) lb = 0 - elseif !JuMP.has_lower_bound(vref) + elseif !has_lower_bound(vref) lb = -Inf else - lb = JuMP.lower_bound(vref) + lb = lower_bound(vref) end - if JuMP.is_binary(vref) + if is_binary(vref) ub = 1 - elseif !JuMP.has_upper_bound(vref) + elseif !has_upper_bound(vref) ub = Inf else - ub = JuMP.upper_bound(vref) + ub = upper_bound(vref) end return lb, ub end # perform interval arithmetic to update the initial M value -function _interval_arithmetic_LessThan(func::JuMP.AffExpr, M::Float64, method::BigM) +function _interval_arithmetic_LessThan(func::AffExpr, M::Float64, method::BigM) for (var,coeff) in func.terms - JuMP.is_binary(var) && continue #skip binary variables + is_binary(var) && continue #skip binary variables if coeff > 0 M += coeff*method.variable_bounds[var][2] else @@ -103,9 +103,9 @@ function _interval_arithmetic_LessThan(func::JuMP.AffExpr, M::Float64, method::B end return M + func.constant end -function _interval_arithmetic_GreaterThan(func::JuMP.AffExpr, M::Float64, method::BigM) +function _interval_arithmetic_GreaterThan(func::AffExpr, M::Float64, method::BigM) for (var,coeff) in func.terms - JuMP.is_binary(var) && continue #skip binary variables + is_binary(var) && continue #skip binary variables if coeff < 0 M += coeff*method.variable_bounds[var][2] else @@ -119,81 +119,81 @@ end # BIG-M REFORMULATION ################################################################################ function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::BigM ) where {T, S <: _MOI.LessThan} M = _get_M_value(con.func, con.set, method) - new_func = JuMP.@expression(model, con.func - M*(1-bvref)) - reform_con = JuMP.build_constraint(error, new_func, con.set) + new_func = @expression(model, con.func - M*(1-bvref)) + reform_con = build_constraint(error, new_func, con.set) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S, R}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S, R}, + bvref::VariableRef, method::BigM ) where {T, S <: _MOI.Nonpositives, R} M = [_get_M_value(func, con.set, method) for func in con.func] - new_func = JuMP.@expression(model, [i=1:con.set.dimension], + new_func = @expression(model, [i=1:con.set.dimension], con.func[i] - M[i]*(1-bvref) ) - reform_con = JuMP.build_constraint(error, new_func, con.set) + reform_con = build_constraint(error, new_func, con.set) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::BigM ) where {T, S <: _MOI.GreaterThan} M = _get_M_value(con.func, con.set, method) - new_func = JuMP.@expression(model, con.func + M*(1-bvref)) - reform_con = JuMP.build_constraint(error, new_func, con.set) + new_func = @expression(model, con.func + M*(1-bvref)) + reform_con = build_constraint(error, new_func, con.set) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S, R}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S, R}, + bvref::VariableRef, method::BigM ) where {T, S <: _MOI.Nonnegatives, R} M = [_get_M_value(func, con.set, method) for func in con.func] - new_func = JuMP.@expression(model, [i=1:con.set.dimension], + new_func = @expression(model, [i=1:con.set.dimension], con.func[i] + M[i]*(1-bvref) ) - reform_con = JuMP.build_constraint(error, new_func, con.set) + reform_con = build_constraint(error, new_func, con.set) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::BigM ) where {T, S <: Union{_MOI.Interval, _MOI.EqualTo}} M = _get_M_value(con.func, con.set, method) - new_func_gt = JuMP.@expression(model, con.func + M[1]*(1-bvref)) - new_func_lt = JuMP.@expression(model, con.func - M[2]*(1-bvref)) + new_func_gt = @expression(model, con.func + M[1]*(1-bvref)) + new_func_lt = @expression(model, con.func - M[2]*(1-bvref)) set_values = _set_values(con.set) - reform_con_gt = JuMP.build_constraint(error, new_func_gt, _MOI.GreaterThan(set_values[1])) - reform_con_lt = JuMP.build_constraint(error, new_func_lt, _MOI.LessThan(set_values[2])) + reform_con_gt = build_constraint(error, new_func_gt, _MOI.GreaterThan(set_values[1])) + reform_con_lt = build_constraint(error, new_func_lt, _MOI.LessThan(set_values[2])) return [reform_con_gt, reform_con_lt] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S, R}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S, R}, + bvref::VariableRef, method::BigM ) where {T, S <: _MOI.Zeros, R} M = [_get_M_value(func, con.set, method) for func in con.func] - new_func_nn = JuMP.@expression(model, [i=1:con.set.dimension], + new_func_nn = @expression(model, [i=1:con.set.dimension], con.func[i] + M[i][1]*(1-bvref) ) - new_func_np = JuMP.@expression(model, [i=1:con.set.dimension], + new_func_np = @expression(model, [i=1:con.set.dimension], con.func[i] - M[i][2]*(1-bvref) ) - reform_con_nn = JuMP.build_constraint(error, new_func_nn, _MOI.Nonnegatives(con.set.dimension)) - reform_con_np = JuMP.build_constraint(error, new_func_np, _MOI.Nonpositives(con.set.dimension)) + reform_con_nn = build_constraint(error, new_func_nn, _MOI.Nonnegatives(con.set.dimension)) + reform_con_np = build_constraint(error, new_func_np, _MOI.Nonpositives(con.set.dimension)) return [reform_con_nn, reform_con_np] end \ No newline at end of file diff --git a/src/constraints.jl b/src/constraints.jl index 4d19a5e..6b5be0b 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -45,17 +45,17 @@ for (RefType, loc) in ((:DisjunctConstraintRef, :disjunct_constraints), JuMP.index(cref::$RefType) = cref.index @doc """ - JuMP.is_valid(model::JuMP.Model, cref::$($RefType)) + JuMP.is_valid(model::Model, cref::$($RefType)) Return `true` if `cref` refers to a valid constraint in the `GDP model`. """ - function JuMP.is_valid(model::JuMP.Model, cref::$RefType) # TODO: generalize for AbstractModel - return model === JuMP.owner_model(cref) + function JuMP.is_valid(model::Model, cref::$RefType) # TODO: generalize for AbstractModel + return model === owner_model(cref) end # Get the ConstraintData object function _constraint_data(cref::$RefType) - return gdp_data(JuMP.owner_model(cref)).$loc[JuMP.index(cref)] + return gdp_data(owner_model(cref)).$loc[index(cref)] end @doc """ @@ -74,7 +74,7 @@ for (RefType, loc) in ((:DisjunctConstraintRef, :disjunct_constraints), """ function JuMP.set_name(cref::$RefType, name::String) _constraint_data(cref).name = name - _set_ready_to_optimize(JuMP.owner_model(cref), false) + _set_ready_to_optimize(owner_model(cref), false) return end @@ -94,25 +94,25 @@ for (RefType, loc) in ((:DisjunctConstraintRef, :disjunct_constraints), end Base.copy(cref::$RefType) = cref @doc """ - Base.getindex(map::JuMP.GenericReferenceMap, cref::$($RefType)) + Base.getindex(map::GenericReferenceMap, cref::$($RefType)) ... """ - function Base.getindex(map::JuMP.ReferenceMap, cref::$RefType) - $RefType(map.model, JuMP.index(cref)) + function Base.getindex(map::ReferenceMap, cref::$RefType) + $RefType(map.model, index(cref)) end end end # Extend delete """ - JuMP.delete(model::JuMP.Model, cref::DisjunctionRef) + JuMP.delete(model::Model, cref::DisjunctionRef) Delete a disjunction constraint from the `GDP model`. """ -function JuMP.delete(model::JuMP.Model, cref::DisjunctionRef) - @assert JuMP.is_valid(model, cref) "Disjunctive constraint does not belong to model." - cidx = JuMP.index(cref) +function JuMP.delete(model::Model, cref::DisjunctionRef) + @assert is_valid(model, cref) "Disjunctive constraint does not belong to model." + cidx = index(cref) dict = _disjunctions(model) delete!(dict, cidx) _set_ready_to_optimize(model, false) @@ -120,13 +120,13 @@ function JuMP.delete(model::JuMP.Model, cref::DisjunctionRef) end """ - JuMP.delete(model::JuMP.Model, cref::DisjunctConstraintRef) + JuMP.delete(model::Model, cref::DisjunctConstraintRef) Delete a disjunct constraint from the `GDP model`. """ -function JuMP.delete(model::JuMP.Model, cref::DisjunctConstraintRef) - @assert JuMP.is_valid(model, cref) "Disjunctive constraint does not belong to model." - cidx = JuMP.index(cref) +function JuMP.delete(model::Model, cref::DisjunctConstraintRef) + @assert is_valid(model, cref) "Disjunctive constraint does not belong to model." + cidx = index(cref) dict = _disjunct_constraints(model) delete!(dict, cidx) _set_ready_to_optimize(model, false) @@ -134,13 +134,13 @@ function JuMP.delete(model::JuMP.Model, cref::DisjunctConstraintRef) end """ - JuMP.delete(model::JuMP.Model, cref::LogicalConstraintRef) + JuMP.delete(model::Model, cref::LogicalConstraintRef) Delete a logical constraint from the `GDP model`. """ -function JuMP.delete(model::JuMP.Model, cref::LogicalConstraintRef) - @assert JuMP.is_valid(model, cref) "Logical constraint does not belong to model." - cidx = JuMP.index(cref) +function JuMP.delete(model::Model, cref::LogicalConstraintRef) + @assert is_valid(model, cref) "Logical constraint does not belong to model." + cidx = index(cref) dict = _logical_constraints(model) delete!(dict, cidx) _set_ready_to_optimize(model, false) @@ -151,9 +151,9 @@ end # Disjunct Constraints ################################################################################ function _check_expression(expr) - vars = Set{JuMP.VariableRef}() + vars = Set{VariableRef}() _interrogate_variables(v -> push!(vars, v), expr) - if any(JuMP.is_binary.(vars)) || any(JuMP.is_integer.(vars)) + if any(is_binary.(vars)) || any(is_integer.(vars)) error("Disjunct constraints cannot contain binary or integer variables.") end return @@ -179,13 +179,13 @@ function JuMP.build_constraint( tag::DisjunctConstraint ) _check_expression(func) - constr = JuMP.build_constraint(_error, func, set) + constr = build_constraint(_error, func, set) return _DisjunctConstraint(constr, tag.indicator) end # Allows for building DisjunctConstraints for VectorConstraints since these get parsed differently by JuMP (JuMP changes the set to a MOI.AbstractScalarSet) for SetType in ( - JuMP.Nonnegatives, JuMP.Nonpositives, JuMP.Zeros, + Nonnegatives, Nonpositives, Zeros, MOI.Nonnegatives, MOI.Nonpositives, MOI.Zeros ) @eval begin @@ -206,7 +206,7 @@ for SetType in ( tag::DisjunctConstraint ) _check_expression(func) - constr = JuMP.build_constraint(_error, func, set) + constr = build_constraint(_error, func, set) return _DisjunctConstraint(constr, tag.indicator) end end @@ -215,21 +215,21 @@ end # Allow intervals to handle tags function JuMP.build_constraint( _error::Function, - func::JuMP.AbstractJuMPScalar, + func::AbstractJuMPScalar, lb::Real, ub::Real, tag::DisjunctConstraint ) _check_expression(func) - constr = JuMP.build_constraint(_error, func, lb, ub) - func = JuMP.jump_function(constr) - set = JuMP.moi_set(constr) - return JuMP.build_constraint(_error, func, set, tag) + constr = build_constraint(_error, func, lb, ub) + func = jump_function(constr) + set = moi_set(constr) + return build_constraint(_error, func, set, tag) end """ JuMP.add_constraint( - model::JuMP.Model, + model::Model, con::_DisjunctConstraint, name::String = "" )::DisjunctConstraintRef @@ -238,7 +238,7 @@ Extend `JuMP.add_constraint` to add a [`DisjunctConstraint`](@ref) to a [`GDPMod The constraint is added to the `GDPData` in the `.ext` dictionary of the `GDPModel`. """ function JuMP.add_constraint( - model::JuMP.Model, + model::Model, con::_DisjunctConstraint, name::String = "" ) @@ -257,8 +257,8 @@ function _add_indicator_var( con::_DisjunctConstraint{C, LogicalVariableRef}, cref, model - ) where {C <: JuMP.AbstractConstraint} - JuMP.is_valid(model, con.lvref) || error("Logical variable belongs to a different model.") + ) where {C <: AbstractConstraint} + is_valid(model, con.lvref) || error("Logical variable belongs to a different model.") if !haskey(_indicator_to_constraints(model), con.lvref) _indicator_to_constraints(model)[con.lvref] = Vector{Union{DisjunctConstraintRef, DisjunctionRef}}() end @@ -266,10 +266,10 @@ function _add_indicator_var( return end # check disjunction -function _check_disjunction(_error, lvrefs::AbstractVector{LogicalVariableRef}, model::JuMP.Model) +function _check_disjunction(_error, lvrefs::AbstractVector{LogicalVariableRef}, model::Model) isequal(unique(lvrefs),lvrefs) || _error("Not all the logical indicator variables are unique.") for lvref in lvrefs - if !JuMP.is_valid(model, lvref) + if !is_valid(model, lvref) _error("`$lvref` is not a valid logical variable reference.") end end @@ -277,14 +277,14 @@ function _check_disjunction(_error, lvrefs::AbstractVector{LogicalVariableRef}, end # fallback -function _check_disjunction(_error, lvrefs, model::JuMP.Model) +function _check_disjunction(_error, lvrefs, model::Model) _error("Unrecognized disjunction input structure.") # TODO add details on proper syntax end # Write the main function for creating disjunctions that is macro friendly function _create_disjunction( _error::Function, - model::JuMP.Model, # TODO: generalize to AbstractModel + model::Model, # TODO: generalize to AbstractModel structure::AbstractVector, #generalize for containers name::String, nested::Bool @@ -306,7 +306,7 @@ end # Disjunction build for unnested disjunctions function _disjunction( _error::Function, - model::JuMP.Model, # TODO: generalize to AbstractModel + model::Model, # TODO: generalize to AbstractModel structure::AbstractVector, #generalize for containers name::String ) @@ -316,7 +316,7 @@ end # Fallback disjunction build for nonvector structure function _disjunction( _error::Function, - model::JuMP.Model, # TODO: generalize to AbstractModel + model::Model, # TODO: generalize to AbstractModel structure, name::String ) @@ -326,13 +326,13 @@ end # Disjunction build for nested disjunctions function _disjunction( _error::Function, - model::JuMP.Model, # TODO: generalize to AbstractModel + model::Model, # TODO: generalize to AbstractModel structure, name::String, tag::DisjunctConstraint ) dref = _create_disjunction(_error, model, structure, name, true) - obj = JuMP.constraint_object(dref) + obj = constraint_object(dref) _add_indicator_var(_DisjunctConstraint(obj, tag.indicator), dref, model) return dref end @@ -340,7 +340,7 @@ end # General fallback for additional arguments function _disjunction( _error::Function, - model::JuMP.Model, # TODO: generalize to AbstractModel + model::Model, # TODO: generalize to AbstractModel structure, name::String, extra... @@ -352,7 +352,7 @@ end """ disjunction( - model::JuMP.Model, + model::Model, disjunct_indicators::Vector{LogicalVariableRef} name::String = "" ) @@ -360,7 +360,7 @@ end Function to add a [`Disjunction`](@ref) to a [`GDPModel`](@ref). disjunction( - model::JuMP.Model, + model::Model, disjunct_indicators::Vector{LogicalVariableRef}, nested_tag::DisjunctConstraint, name::String = "" @@ -369,14 +369,14 @@ Function to add a [`Disjunction`](@ref) to a [`GDPModel`](@ref). Function to add a nested [`Disjunction`](@ref) to a [`GDPModel`](@ref). """ function disjunction( - model::JuMP.Model, + model::Model, disjunct_indicators, name::String = "" ) # TODO add kw argument to build exactly 1 constraint return _disjunction(error, model, disjunct_indicators, name) end function disjunction( - model::JuMP.Model, + model::Model, disjunct_indicators, nested_tag::DisjunctConstraint, name::String = "", @@ -442,7 +442,7 @@ function JuMP.build_constraint( # Cardinality logical constraint ) where {T <: LogicalVariableRef, S <: Union{Exactly, AtLeast, AtMost}} new_set = _jump_to_moi_selector(set)(length(func) + 1) new_func = Union{Number,LogicalVariableRef}[set.value, func...] - return JuMP.VectorConstraint(new_func, new_set) + return VectorConstraint(new_func, new_set) end function JuMP.build_constraint( # Cardinality logical constraint _error::Function, @@ -461,7 +461,7 @@ function JuMP.build_constraint( if !(func.head in _LogicalOperatorHeads) _error("Unrecognized logical operator `$(func.head)`.") else - return JuMP.ScalarConstraint(func, set) + return ScalarConstraint(func, set) end end @@ -480,7 +480,7 @@ end # Fallback for Affine/Quad expressions function JuMP.build_constraint( _error::Function, - expr::Union{JuMP.GenericAffExpr{C, LogicalVariableRef}, JuMP.GenericQuadExpr{C, LogicalVariableRef}}, + expr::Union{GenericAffExpr{C, LogicalVariableRef}, GenericQuadExpr{C, LogicalVariableRef}}, set::_MOI.AbstractScalarSet ) where {C} _error("Cannot add, subtract, or multiply with logical variables.") @@ -497,8 +497,8 @@ end """ function JuMP.add_constraint( - model::JuMP.Model, - c::JuMP.ScalarConstraint{<:F, S}, + model::Model, + c::ScalarConstraint{<:F, S}, name::String = "" ) where {F <: Union{LogicalVariableRef, _LogicalExpr}, S} @@ -506,8 +506,8 @@ Extend `JuMP.add_constraint` to allow creating logical proposition constraints for a [`GDPModel`](@ref) with the `@constraint` macro. function JuMP.add_constraint( - model::JuMP.Model, - c::JuMP.VectorConstraint{<:F, S, Shape}, + model::Model, + c::VectorConstraint{<:F, S, Shape}, name::String = "" ) where {F <: Union{Number, LogicalVariableRef, _LogicalExpr}, S, Shape} @@ -515,24 +515,24 @@ Extend `JuMP.add_constraint` to allow creating logical cardinality constraints for a [`GDPModel`](@ref) with the `@constraint` macro. """ function JuMP.add_constraint( - model::JuMP.Model, - c::JuMP.ScalarConstraint{F, S}, + model::Model, + c::ScalarConstraint{F, S}, name::String = "" ) where {F <: Union{LogicalVariableRef, _LogicalExpr}, S <: IsTrue} is_gdp_model(model) || error("Can only add logical constraints to `GDPModel`s.") - @assert all(JuMP.is_valid.(model, _get_constraint_variables(model, c))) "Constraint variables do not belong to model." + @assert all(is_valid.(model, _get_constraint_variables(model, c))) "Constraint variables do not belong to model." constr_data = ConstraintData(c, name) idx = _MOIUC.add_item(_logical_constraints(model), constr_data) _set_ready_to_optimize(model, false) return LogicalConstraintRef(model, idx) end function JuMP.add_constraint( - model::JuMP.Model, - c::JuMP.VectorConstraint{F, S, Shape}, + model::Model, + c::VectorConstraint{F, S, Shape}, name::String = "" ) where {F, S <: Union{_MOIAtLeast, _MOIAtMost, _MOIExactly}, Shape} is_gdp_model(model) || error("Can only add logical constraints to `GDPModel`s.") - @assert all(JuMP.is_valid.(model, _get_constraint_variables(model, c))) "Constraint variables do not belong to model." + @assert all(is_valid.(model, _get_constraint_variables(model, c))) "Constraint variables do not belong to model." constr_data = ConstraintData(c, name) idx = _MOIUC.add_item(_logical_constraints(model), constr_data) _set_ready_to_optimize(model, false) diff --git a/src/datatypes.jl b/src/datatypes.jl index 292b495..65292b0 100644 --- a/src/datatypes.jl +++ b/src/datatypes.jl @@ -3,7 +3,7 @@ ################################################################################ """ - LogicalVariable <: JuMP.AbstractVariable + LogicalVariable <: AbstractVariable A variable type the logical variables associated with disjuncts in a [`Disjunction`](@ref). @@ -11,7 +11,7 @@ A variable type the logical variables associated with disjuncts in a [`Disjuncti - `fix_value::Union{Nothing, Bool}`: A fixed boolean value if there is one. - `start_value::Union{Nothing, Bool}`: An initial guess if there is one. """ -struct LogicalVariable <: JuMP.AbstractVariable +struct LogicalVariable <: AbstractVariable fix_value::Union{Nothing, Bool} start_value::Union{Nothing, Bool} end @@ -50,8 +50,8 @@ end A type for looking up logical variables. """ -struct LogicalVariableRef <: JuMP.AbstractVariableRef - model::JuMP.Model # TODO: generalize for AbstractModels +struct LogicalVariableRef <: AbstractVariableRef + model::Model # TODO: generalize for AbstractModels index::LogicalVariableIndex end @@ -99,29 +99,29 @@ end # Create our own JuMP level sets to infer the dimension using the expression """ - AtLeast{T<:Union{Int,LogicalVariableRef}} <: JuMP.AbstractVectorSet + AtLeast{T<:Union{Int,LogicalVariableRef}} <: AbstractVectorSet Convenient alias for using [`_MOIAtLeast`](@ref). """ -struct AtLeast{T<:Union{Int,LogicalVariableRef}} <: JuMP.AbstractVectorSet +struct AtLeast{T<:Union{Int,LogicalVariableRef}} <: AbstractVectorSet value::T end """ - AtMost{T<:Union{Int,LogicalVariableRef}} <: JuMP.AbstractVectorSet + AtMost{T<:Union{Int,LogicalVariableRef}} <: AbstractVectorSet Convenient alias for using [`_MOIAtMost`](@ref). """ -struct AtMost{T<:Union{Int,LogicalVariableRef}} <: JuMP.AbstractVectorSet +struct AtMost{T<:Union{Int,LogicalVariableRef}} <: AbstractVectorSet value::T end """ - Exactly <: JuMP.AbstractVectorSet + Exactly <: AbstractVectorSet Convenient alias for using [`_MOIExactly`](@ref). """ -struct Exactly{T<:Union{Int,LogicalVariableRef}} <: JuMP.AbstractVectorSet +struct Exactly{T<:Union{Int,LogicalVariableRef}} <: AbstractVectorSet value::T end @@ -133,10 +133,10 @@ JuMP.moi_set(set::Exactly, dim::Int) = _MOIExactly(dim) ################################################################################ # LOGICAL CONSTRAINTS ################################################################################ -const _LogicalExpr = JuMP.GenericNonlinearExpr{LogicalVariableRef} +const _LogicalExpr = GenericNonlinearExpr{LogicalVariableRef} """ - ConstraintData{C <: JuMP.AbstractConstraint} + ConstraintData{C <: AbstractConstraint} A type for storing constraint objects in [`GDPData`](@ref) and any meta-data they possess. @@ -145,7 +145,7 @@ they possess. - `constraint::C`: The constraint. - `name::String`: The name of the proposition. """ -mutable struct ConstraintData{C <: JuMP.AbstractConstraint} +mutable struct ConstraintData{C <: AbstractConstraint} constraint::C name::String end @@ -168,7 +168,7 @@ end A type for looking up logical constraints. """ struct LogicalConstraintRef - model::JuMP.Model # TODO: generalize for AbstractModels + model::Model # TODO: generalize for AbstractModels index::LogicalConstraintIndex end @@ -194,7 +194,7 @@ struct DisjunctConstraint end # Create internal type for temporarily packaging constraints for disjuncts -struct _DisjunctConstraint{C <: JuMP.AbstractConstraint, L <: LogicalVariableRef} +struct _DisjunctConstraint{C <: AbstractConstraint, L <: LogicalVariableRef} constr::C lvref::L end @@ -217,7 +217,7 @@ end A type for looking up disjunctive constraints. """ struct DisjunctConstraintRef - model::JuMP.Model # TODO: generalize for AbstractModels + model::Model # TODO: generalize for AbstractModels index::DisjunctConstraintIndex end @@ -225,7 +225,7 @@ end # DISJUNCTIONS ################################################################################ """ - Disjunction <: JuMP.AbstractConstraint + Disjunction <: AbstractConstraint A type for a disjunctive constraint that is comprised of a collection of disjuncts of indicated by a unique [`LogicalVariableRef`](@ref). @@ -235,7 +235,7 @@ disjuncts of indicated by a unique [`LogicalVariableRef`](@ref). (indicators) that uniquely identify each disjunct in the disjunction. - `nested::Bool`: Is this disjunction nested within another disjunction? """ -struct Disjunction <: JuMP.AbstractConstraint +struct Disjunction <: AbstractConstraint indicators::Vector{LogicalVariableRef} nested::Bool end @@ -258,7 +258,7 @@ end A type for looking up disjunctive constraints. """ struct DisjunctionRef - model::JuMP.Model # TODO: generalize for AbstractModels + model::Model # TODO: generalize for AbstractModels index::DisjunctionIndex end @@ -325,9 +325,9 @@ A type for using the big-M reformulation approach for disjunctive constraints. struct BigM <: AbstractReformulationMethod value::Float64 tighten::Bool - variable_bounds::Dict{JuMP.VariableRef, Tuple{Float64, Float64}} # TODO support other number types? + variable_bounds::Dict{VariableRef, Tuple{Float64, Float64}} # TODO support other number types? function BigM(val = 1e9, tight = true) - new(val, tight, Dict{JuMP.VariableRef, Tuple{Float64, Float64}}()) + new(val, tight, Dict{VariableRef, Tuple{Float64, Float64}}()) end end # TODO add fields if needed @@ -342,11 +342,11 @@ constraints. """ struct Hull <: AbstractReformulationMethod # TODO add fields if needed value::Float64 - variable_bounds::Dict{JuMP.VariableRef, Tuple{Float64, Float64}} # TODO support other number types? + variable_bounds::Dict{VariableRef, Tuple{Float64, Float64}} # TODO support other number types? function Hull(ϵ::Float64 = 1e-6) - new(ϵ, Dict{JuMP.VariableRef, Tuple{Float64, Float64}}()) + new(ϵ, Dict{VariableRef, Tuple{Float64, Float64}}()) end - function Hull(ϵ::Float64, v_bounds::Dict{JuMP.VariableRef, Tuple{Float64, Float64}}) + function Hull(ϵ::Float64, v_bounds::Dict{VariableRef, Tuple{Float64, Float64}}) new(ϵ, v_bounds) end end @@ -355,15 +355,15 @@ end # temp struct to store variable disaggregations (reset for each disjunction) mutable struct _Hull <: AbstractReformulationMethod value::Float64 - variable_bounds::Dict{JuMP.VariableRef, Tuple{Float64, Float64}} # TODO support other number types? - disjunction_variables::Dict{JuMP.VariableRef, Vector{JuMP.VariableRef}} - disjunct_variables::Dict{Tuple{JuMP.VariableRef,JuMP.VariableRef}, JuMP.VariableRef} - function _Hull(method::Hull, vrefs::Set{JuMP.VariableRef}) + variable_bounds::Dict{VariableRef, Tuple{Float64, Float64}} # TODO support other number types? + disjunction_variables::Dict{VariableRef, Vector{VariableRef}} + disjunct_variables::Dict{Tuple{VariableRef,VariableRef}, VariableRef} + function _Hull(method::Hull, vrefs::Set{VariableRef}) new( method.value, method.variable_bounds, - Dict{JuMP.VariableRef, Vector{JuMP.VariableRef}}(vref => Vector{JuMP.VariableRef}() for vref in vrefs), - Dict{Tuple{JuMP.VariableRef,JuMP.VariableRef}, JuMP.VariableRef}() + Dict{VariableRef, Vector{VariableRef}}(vref => Vector{VariableRef}() for vref in vrefs), + Dict{Tuple{VariableRef,VariableRef}, VariableRef}() ) end end @@ -391,12 +391,12 @@ mutable struct GDPData disjunctions::_MOIUC.CleverDict{DisjunctionIndex, ConstraintData{Disjunction}} # Indicator variable mappings - indicator_to_binary::Dict{LogicalVariableRef, JuMP.VariableRef} + indicator_to_binary::Dict{LogicalVariableRef, VariableRef} indicator_to_constraints::Dict{LogicalVariableRef, Vector{Union{DisjunctConstraintRef, DisjunctionRef}}} # Reformulation variables and constraints - reformulation_variables::Vector{JuMP.VariableRef} - reformulation_constraints::Vector{JuMP.ConstraintRef} + reformulation_variables::Vector{VariableRef} + reformulation_constraints::Vector{ConstraintRef} # Solution data solution_method::Union{Nothing, AbstractSolutionMethod} @@ -408,10 +408,10 @@ mutable struct GDPData _MOIUC.CleverDict{LogicalConstraintIndex, ConstraintData}(), _MOIUC.CleverDict{DisjunctConstraintIndex, ConstraintData}(), _MOIUC.CleverDict{DisjunctionIndex, ConstraintData{Disjunction}}(), - Dict{LogicalVariableRef, JuMP.VariableRef}(), + Dict{LogicalVariableRef, VariableRef}(), Dict{LogicalVariableRef, Vector{Union{DisjunctConstraintRef, DisjunctionRef}}}(), - Vector{JuMP.VariableRef}(), - Vector{JuMP.ConstraintRef}(), + Vector{VariableRef}(), + Vector{ConstraintRef}(), nothing, false, ) diff --git a/src/hull.jl b/src/hull.jl index a80acd1..84afb10 100644 --- a/src/hull.jl +++ b/src/hull.jl @@ -1,47 +1,47 @@ ################################################################################ # VARIABLE DISAGGREGATION ################################################################################ -function _update_variable_bounds(vref::JuMP.VariableRef, method::Hull) - if JuMP.is_binary(vref) #not used +function _update_variable_bounds(vref::VariableRef, method::Hull) + if is_binary(vref) #not used lb, ub = 0, 1 - elseif !JuMP.has_lower_bound(vref) || !JuMP.has_upper_bound(vref) + elseif !has_lower_bound(vref) || !has_upper_bound(vref) error("Variable $vref must have both lower and upper bounds defined when using the Hull reformulation.") else - lb = min(0, JuMP.lower_bound(vref)) - ub = max(0, JuMP.upper_bound(vref)) + lb = min(0, lower_bound(vref)) + ub = max(0, upper_bound(vref)) end return lb, ub end -function _disaggregate_variables(model::JuMP.Model, lvref::LogicalVariableRef, vrefs::Set{JuMP.VariableRef}, method::_Hull) +function _disaggregate_variables(model::Model, lvref::LogicalVariableRef, vrefs::Set{VariableRef}, method::_Hull) #create disaggregated variables for that disjunct for vref in vrefs - JuMP.is_binary(vref) && continue #skip binary variables + is_binary(vref) && continue #skip binary variables _disaggregate_variable(model, lvref, vref, method) #create disaggregated var for that disjunct end end -function _disaggregate_variable(model::JuMP.Model, lvref::LogicalVariableRef, vref::JuMP.VariableRef, method::_Hull) +function _disaggregate_variable(model::Model, lvref::LogicalVariableRef, vref::VariableRef, method::_Hull) #create disaggregated vref lb, ub = method.variable_bounds[vref] - dvref = JuMP.@variable(model, base_name = "$(vref)_$(lvref)", lower_bound = lb, upper_bound = ub) + dvref = @variable(model, base_name = "$(vref)_$(lvref)", lower_bound = lb, upper_bound = ub) push!(_reformulation_variables(model), dvref) #get binary indicator variable bvref = _indicator_to_binary(model)[lvref] #temp storage if !haskey(method.disjunction_variables, vref) - method.disjunction_variables[vref] = Vector{JuMP.VariableRef}() + method.disjunction_variables[vref] = Vector{VariableRef}() end push!(method.disjunction_variables[vref], dvref) method.disjunct_variables[vref, bvref] = dvref #create bounding constraints - dvname = JuMP.name(dvref) + dvname = name(dvref) lbname = isempty(dvname) ? "" : "$(dvname)_lower_bound" ubname = isempty(dvname) ? "" : "$(dvname)_upper_bound" - new_con_lb_ref = JuMP.add_constraint(model, - JuMP.build_constraint(error, lb*bvref - dvref, _MOI.LessThan(0)), + new_con_lb_ref = add_constraint(model, + build_constraint(error, lb*bvref - dvref, _MOI.LessThan(0)), lbname ) - new_con_ub_ref = JuMP.add_constraint(model, - JuMP.build_constraint(error, dvref - ub*bvref, _MOI.LessThan(0)), + new_con_ub_ref = add_constraint(model, + build_constraint(error, dvref - ub*bvref, _MOI.LessThan(0)), ubname ) push!(_reformulation_constraints(model), new_con_lb_ref, new_con_ub_ref) @@ -51,11 +51,11 @@ end ################################################################################ # VARIABLE AGGREGATION ################################################################################ -function _aggregate_variable(model::JuMP.Model, ref_cons::Vector{JuMP.AbstractConstraint}, vref::JuMP.VariableRef, method::_Hull) - JuMP.is_binary(vref) && return #skip binary variables - con_expr = JuMP.@expression(model, -vref + sum(method.disjunction_variables[vref])) +function _aggregate_variable(model::Model, ref_cons::Vector{AbstractConstraint}, vref::VariableRef, method::_Hull) + is_binary(vref) && return #skip binary variables + con_expr = @expression(model, -vref + sum(method.disjunction_variables[vref])) push!(ref_cons, - JuMP.build_constraint(error, con_expr, _MOI.EqualTo(0)) + build_constraint(error, con_expr, _MOI.EqualTo(0)) ) return end @@ -64,22 +64,22 @@ end # CONSTRAINT DISAGGREGATION ################################################################################ # variable -function _disaggregate_expression(model::JuMP.Model, vref::JuMP.VariableRef, bvref::JuMP.VariableRef, method::_Hull) - if JuMP.is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged +function _disaggregate_expression(model::Model, vref::VariableRef, bvref::VariableRef, method::_Hull) + if is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged return vref else #replace with disaggregated form return method.disjunct_variables[vref, bvref] end end # affine expression -function _disaggregate_expression(model::JuMP.Model, aff::JuMP.AffExpr, bvref::JuMP.VariableRef, method::_Hull) - new_expr = JuMP.@expression(model, aff.constant*bvref) #multiply constant by binary indicator variable +function _disaggregate_expression(model::Model, aff::AffExpr, bvref::VariableRef, method::_Hull) + new_expr = @expression(model, aff.constant*bvref) #multiply constant by binary indicator variable for (vref, coeff) in aff.terms - if JuMP.is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged - JuMP.add_to_expression!(new_expr, coeff*vref) + if is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged + add_to_expression!(new_expr, coeff*vref) else #replace other vars with disaggregated form dvref = method.disjunct_variables[vref, bvref] - JuMP.add_to_expression!(new_expr, coeff*dvref) + add_to_expression!(new_expr, coeff*dvref) end end return new_expr @@ -87,7 +87,7 @@ end # quadratic expression # TODO review what happens when there are bilinear terms with binary variables involved since these are not being disaggregated # (e.g., complementarity constraints; though likely irrelevant)... -function _disaggregate_expression(model::JuMP.Model, quad::JuMP.QuadExpr, bvref::JuMP.VariableRef, method::_Hull) +function _disaggregate_expression(model::Model, quad::QuadExpr, bvref::VariableRef, method::_Hull) #get affine part new_expr = _disaggregate_expression(model, quad.aff, bvref, method) #get nonlinear part @@ -100,22 +100,22 @@ function _disaggregate_expression(model::JuMP.Model, quad::JuMP.QuadExpr, bvref: return new_expr end # constant in NonlinearExpr -function _disaggregate_nl_expression(model::JuMP.Model, c::Number, ::JuMP.VariableRef, method::_Hull) +function _disaggregate_nl_expression(model::Model, c::Number, ::VariableRef, method::_Hull) return c end # variable in NonlinearExpr -function _disaggregate_nl_expression(model::JuMP.Model, vref::JuMP.VariableRef, bvref::JuMP.VariableRef, method::_Hull) +function _disaggregate_nl_expression(model::Model, vref::VariableRef, bvref::VariableRef, method::_Hull) ϵ = method.value dvref = method.disjunct_variables[vref, bvref] new_var = dvref / ((1-ϵ)*bvref+ϵ) return new_var end # affine expression in NonlinearExpr -function _disaggregate_nl_expression(model::JuMP.Model, aff::JuMP.AffExpr, bvref::JuMP.VariableRef, method::_Hull) +function _disaggregate_nl_expression(model::Model, aff::AffExpr, bvref::VariableRef, method::_Hull) new_expr = aff.constant ϵ = method.value for (vref, coeff) in aff.terms - if JuMP.is_binary(vref) #keep any binary variables undisaggregated + if is_binary(vref) #keep any binary variables undisaggregated dvref = vref else #replace other vars with disaggregated form dvref = method.disjunct_variables[vref, bvref] @@ -125,7 +125,7 @@ function _disaggregate_nl_expression(model::JuMP.Model, aff::JuMP.AffExpr, bvref return new_expr end # quadratic expression in NonlinearExpr -function _disaggregate_nl_expression(model::JuMP.Model, quad::JuMP.QuadExpr, bvref::JuMP.VariableRef, method::_Hull) +function _disaggregate_nl_expression(model::Model, quad::QuadExpr, bvref::VariableRef, method::_Hull) #get affine part new_expr = _disaggregate_nl_expression(model, quad.aff, bvref, method) #get quadratic part @@ -138,12 +138,12 @@ function _disaggregate_nl_expression(model::JuMP.Model, quad::JuMP.QuadExpr, bvr return new_expr end # nonlinear expression in NonlinearExpr -function _disaggregate_nl_expression(model::JuMP.Model, nlp::JuMP.NonlinearExpr, bvref::JuMP.VariableRef, method::_Hull) +function _disaggregate_nl_expression(model::Model, nlp::NonlinearExpr, bvref::VariableRef, method::_Hull) new_args = Vector{Any}(undef, length(nlp.args)) for (i,arg) in enumerate(nlp.args) new_args[i] = _disaggregate_nl_expression(model, arg, bvref, method) end - new_expr = JuMP.NonlinearExpr(nlp.head, new_args) + new_expr = NonlinearExpr(nlp.head, new_args) return new_expr end @@ -151,95 +151,95 @@ end # HULL REFORMULATION ################################################################################ function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::_Hull -) where {T <: Union{JuMP.VariableRef, JuMP.AffExpr, JuMP.QuadExpr}, S <: Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.EqualTo}} +) where {T <: Union{VariableRef, AffExpr, QuadExpr}, S <: Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.EqualTo}} new_func = _disaggregate_expression(model, con.func, bvref, method) set_value = _set_value(con.set) new_func -= set_value*bvref - reform_con = JuMP.build_constraint(error, new_func, S(0)) + reform_con = build_constraint(error, new_func, S(0)) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S, R}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S, R}, + bvref::VariableRef, method::_Hull -) where {T <: Union{JuMP.VariableRef, JuMP.AffExpr, JuMP.QuadExpr}, S <: Union{_MOI.Nonpositives, _MOI.Nonnegatives, _MOI.Zeros}, R} - new_func = JuMP.@expression(model, [i=1:con.set.dimension], +) where {T <: Union{VariableRef, AffExpr, QuadExpr}, S <: Union{_MOI.Nonpositives, _MOI.Nonnegatives, _MOI.Zeros}, R} + new_func = @expression(model, [i=1:con.set.dimension], _disaggregate_expression(model, con.func[i], bvref, method) ) - reform_con = JuMP.build_constraint(error, new_func, con.set) + reform_con = build_constraint(error, new_func, con.set) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::_Hull -) where {T <: JuMP.GenericNonlinearExpr, S <: Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.EqualTo}} +) where {T <: GenericNonlinearExpr, S <: Union{_MOI.LessThan, _MOI.GreaterThan, _MOI.EqualTo}} con_func = _disaggregate_nl_expression(model, con.func, bvref, method) - con_func0 = JuMP.value(v -> 0.0, con.func) + con_func0 = value(v -> 0.0, con.func) if isinf(con_func0) error("Operator `$(con.func.head)` is not defined at 0, causing the perspective function on the Hull reformulation to fail.") end ϵ = method.value set_value = _set_value(con.set) - new_func = JuMP.@expression(model, ((1-ϵ)*bvref+ϵ)*con_func - ϵ*(1-bvref)*con_func0 - set_value*bvref) - reform_con = JuMP.build_constraint(error, new_func, S(0)) + new_func = @expression(model, ((1-ϵ)*bvref+ϵ)*con_func - ϵ*(1-bvref)*con_func0 - set_value*bvref) + reform_con = build_constraint(error, new_func, S(0)) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S, R}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S, R}, + bvref::VariableRef, method::_Hull -) where {T <: JuMP.GenericNonlinearExpr, S <: Union{_MOI.Nonpositives, _MOI.Nonnegatives, _MOI.Zeros}, R} - con_func = JuMP.@expression(model, [i=1:con.set.dimension], +) where {T <: GenericNonlinearExpr, S <: Union{_MOI.Nonpositives, _MOI.Nonnegatives, _MOI.Zeros}, R} + con_func = @expression(model, [i=1:con.set.dimension], _disaggregate_nl_expression(model, con.func[i], bvref, method) ) - con_func0 = JuMP.value.(v -> 0.0, con.func) + con_func0 = value.(v -> 0.0, con.func) if any(isinf.(con_func0)) error("At least of of the operators `$([func.head for func in con.func])` is not defined at 0, causing the perspective function on the Hull reformulation to fail.") end ϵ = method.value - new_func = JuMP.@expression(model, [i=1:con.set.dimension], + new_func = @expression(model, [i=1:con.set.dimension], ((1-ϵ)*bvref+ϵ)*con_func[i] - ϵ*(1-bvref)*con_func0[i] ) - reform_con = JuMP.build_constraint(error, new_func, con.set) + reform_con = build_constraint(error, new_func, con.set) return [reform_con] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::_Hull -) where {T <: Union{JuMP.VariableRef, JuMP.AffExpr, JuMP.QuadExpr}, S <: _MOI.Interval} +) where {T <: Union{VariableRef, AffExpr, QuadExpr}, S <: _MOI.Interval} new_func = _disaggregate_expression(model, con.func, bvref, method) - new_func_gt = JuMP.@expression(model, new_func - con.set.lower*bvref) - new_func_lt = JuMP.@expression(model, new_func - con.set.upper*bvref) - reform_con_gt = JuMP.build_constraint(error, new_func_gt, _MOI.GreaterThan(0)) - reform_con_lt = JuMP.build_constraint(error, new_func_lt, _MOI.LessThan(0)) + new_func_gt = @expression(model, new_func - con.set.lower*bvref) + new_func_lt = @expression(model, new_func - con.set.upper*bvref) + reform_con_gt = build_constraint(error, new_func_gt, _MOI.GreaterThan(0)) + reform_con_lt = build_constraint(error, new_func_lt, _MOI.LessThan(0)) return [reform_con_gt, reform_con_lt] end function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::_Hull -) where {T <: JuMP.GenericNonlinearExpr, S <: _MOI.Interval} +) where {T <: GenericNonlinearExpr, S <: _MOI.Interval} con_func = _disaggregate_nl_expression(model, con.func, bvref, method) - con_func0 = JuMP.value(v -> 0.0, con.func) + con_func0 = value(v -> 0.0, con.func) if isinf(con_func0) error("Operator `$(con.func.head)` is not defined at 0, causing the perspective function on the Hull reformulation to fail.") end ϵ = method.value - new_func = JuMP.@expression(model, ((1-ϵ)*bvref+ϵ) * con_func - ϵ*(1-bvref)*con_func0) - new_func_gt = JuMP.@expression(model, new_func - con.set.lower*bvref) - new_func_lt = JuMP.@expression(model, new_func - con.set.upper*bvref) - reform_con_gt = JuMP.build_constraint(error, new_func_gt, _MOI.GreaterThan(0)) - reform_con_lt = JuMP.build_constraint(error, new_func_lt, _MOI.LessThan(0)) + new_func = @expression(model, ((1-ϵ)*bvref+ϵ) * con_func - ϵ*(1-bvref)*con_func0) + new_func_gt = @expression(model, new_func - con.set.lower*bvref) + new_func_lt = @expression(model, new_func - con.set.upper*bvref) + reform_con_gt = build_constraint(error, new_func_gt, _MOI.GreaterThan(0)) + reform_con_lt = build_constraint(error, new_func_lt, _MOI.LessThan(0)) return [reform_con_gt, reform_con_lt] end \ No newline at end of file diff --git a/src/indicator.jl b/src/indicator.jl index 2aabb13..d199827 100644 --- a/src/indicator.jl +++ b/src/indicator.jl @@ -3,32 +3,32 @@ ################################################################################ #scalar disjunct constraint function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.ScalarConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::ScalarConstraint{T, S}, + bvref::VariableRef, method::Indicator ) where {T, S} - reform_con = JuMP.build_constraint(error, [1*bvref, con.func], _MOI.Indicator{_MOI.ACTIVATE_ON_ONE}(con.set)) + reform_con = build_constraint(error, [1*bvref, con.func], _MOI.Indicator{_MOI.ACTIVATE_ON_ONE}(con.set)) return [reform_con] end #vectorized disjunct constraint function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S}, + bvref::VariableRef, method::Indicator ) where {T, S} set = _vec_to_scalar_set(con.set) return [ - JuMP.build_constraint(error, [1*bvref, f], _MOI.Indicator{_MOI.ACTIVATE_ON_ONE}(set)) + build_constraint(error, [1*bvref, f], _MOI.Indicator{_MOI.ACTIVATE_ON_ONE}(set)) for f in con.func ] end #nested indicator reformulation. NOTE: the user needs to provide the appropriate linking constraint for the logical variables for this to work (e.g. w in Exactly(y[1]) to link the parent disjunct y[1] to the nested disjunction w) function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.VectorConstraint{T, S}, - bvref::JuMP.VariableRef, + model::Model, + con::VectorConstraint{T, S}, + bvref::VariableRef, method::Indicator ) where {T, S <: _MOI.Indicator} return [con] diff --git a/src/logic.jl b/src/logic.jl index 70ed443..b529093 100644 --- a/src/logic.jl +++ b/src/logic.jl @@ -13,8 +13,8 @@ for (name, alt, head) in ( ) # make operators @eval begin - const $name = JuMP.NonlinearOperator((vs...) -> _op_fallback($(Meta.quot(name))), $(Meta.quot(head))) - const $alt = JuMP.NonlinearOperator((vs...) -> _op_fallback($(Meta.quot(alt))), $(Meta.quot(head))) + const $name = NonlinearOperator((vs...) -> _op_fallback($(Meta.quot(name))), $(Meta.quot(head))) + const $alt = NonlinearOperator((vs...) -> _op_fallback($(Meta.quot(alt))), $(Meta.quot(head))) end end for (name, alt, head, func) in ( @@ -24,8 +24,8 @@ for (name, alt, head, func) in ( ) # make operators @eval begin - const $name = JuMP.NonlinearOperator($func, $(Meta.quot(head))) - const $alt = JuMP.NonlinearOperator($func, $(Meta.quot(head))) + const $name = NonlinearOperator($func, $(Meta.quot(head))) + const $alt = NonlinearOperator($func, $(Meta.quot(head))) end end @@ -218,21 +218,21 @@ end # SELECTOR REFORMULATION ################################################################################ # cardinality constraint reformulation -function _reformulate_selector(model::JuMP.Model, func, set::Union{_MOIAtLeast, _MOIAtMost, _MOIExactly}) +function _reformulate_selector(model::Model, func, set::Union{_MOIAtLeast, _MOIAtMost, _MOIExactly}) dict = _indicator_to_binary(model) bvrefs = [dict[lvref] for lvref in func[2:end]] new_set = _vec_to_scalar_set(set)(func[1].constant) - cref = JuMP.add_constraint(model, - JuMP.build_constraint(error, JuMP.@expression(model, sum(bvrefs)), new_set) + cref = add_constraint(model, + build_constraint(error, @expression(model, sum(bvrefs)), new_set) ) push!(_reformulation_constraints(model), cref) end -function _reformulate_selector(model::JuMP.Model, func::Vector{LogicalVariableRef}, set::Union{_MOIAtLeast, _MOIAtMost, _MOIExactly}) +function _reformulate_selector(model::Model, func::Vector{LogicalVariableRef}, set::Union{_MOIAtLeast, _MOIAtMost, _MOIExactly}) dict = _indicator_to_binary(model) bvref, bvrefs... = [dict[lvref] for lvref in func] new_set = _vec_to_scalar_set(set)(0) - cref = JuMP.add_constraint(model, - JuMP.build_constraint(error, JuMP.@expression(model, sum(bvrefs) - bvref), new_set) + cref = add_constraint(model, + build_constraint(error, @expression(model, sum(bvrefs) - bvref), new_set) ) push!(_reformulation_constraints(model), cref) end @@ -240,7 +240,7 @@ end ################################################################################ # PROPOSITION REFORMULATION ################################################################################ -function _reformulate_proposition(model::JuMP.Model, lexpr::_LogicalExpr) +function _reformulate_proposition(model::Model, lexpr::_LogicalExpr) expr = _to_cnf(lexpr) if expr.head == :&& for arg in expr.args @@ -258,31 +258,31 @@ _isa_literal(v::LogicalVariableRef) = true _isa_literal(v::_LogicalExpr) = (v.head == :!) && (length(v.args) == 1) && _isa_literal(v.args[1]) _isa_literal(v) = false -function _add_reformulated_proposition(model::JuMP.Model, arg::Union{LogicalVariableRef,_LogicalExpr}) +function _add_reformulated_proposition(model::Model, arg::Union{LogicalVariableRef,_LogicalExpr}) func = _reformulate_clause(model, arg) if !isempty(func.terms) && !all(iszero.(values(func.terms))) - con = JuMP.build_constraint(error, func, _MOI.GreaterThan(1)) - cref = JuMP.add_constraint(model, con) + con = build_constraint(error, func, _MOI.GreaterThan(1)) + cref = add_constraint(model, con) push!(_reformulation_constraints(model), cref) end return end -function _reformulate_clause(model::JuMP.Model, lvref::LogicalVariableRef) +function _reformulate_clause(model::Model, lvref::LogicalVariableRef) func = 1 * _indicator_to_binary(model)[lvref] return func end -function _reformulate_clause(model::JuMP.Model, lexpr::_LogicalExpr) - func = zero(JuMP.AffExpr) #initialize func expression +function _reformulate_clause(model::Model, lexpr::_LogicalExpr) + func = zero(AffExpr) #initialize func expression if _isa_literal(lexpr) - JuMP.add_to_expression!(func, 1 - _reformulate_clause(model, lexpr.args[1])) + add_to_expression!(func, 1 - _reformulate_clause(model, lexpr.args[1])) elseif lexpr.head == :|| for literal in lexpr.args if literal isa LogicalVariableRef - JuMP.add_to_expression!(func, _reformulate_clause(model, literal)) + add_to_expression!(func, _reformulate_clause(model, literal)) elseif _isa_literal(literal) - JuMP.add_to_expression!(func, 1 - _reformulate_clause(model, literal.args[1])) + add_to_expression!(func, 1 - _reformulate_clause(model, literal.args[1])) else error("Expression was not converted to proper Conjunctive Normal Form:\n$literal is not a literal.") end diff --git a/src/macros.jl b/src/macros.jl index 9565508..316009a 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -111,7 +111,7 @@ function _error_if_cannot_register( model, name::Symbol ) - if haskey(JuMP.object_dictionary(model), name) + if haskey(object_dictionary(model), name) _error("An object of name $name is already attached to this model. If ", "this is intended, consider using the anonymous construction ", "syntax, e.g., `x = @macro_name(model, ...)` where the name ", @@ -248,7 +248,7 @@ macro disjunction(model, args...) _add_kwargs(creation_code, extra_kwargs) else # we have a container of parameters - idxvars, inds = JuMP.Containers.build_ref_sets(_error, c) + idxvars, inds = Containers.build_ref_sets(_error, c) if model in idxvars _error("Index $(model) is the same symbol as the model. Use a ", "different name for the index.") @@ -257,7 +257,7 @@ macro disjunction(model, args...) disjunction_call = :( _disjunction($_error, $esc_model, $x, $name_code) ) _add_positional_args(disjunction_call, extra) _add_kwargs(disjunction_call, extra_kwargs) - creation_code = JuMP.Containers.container_code(idxvars, inds, disjunction_call, + creation_code = Containers.container_code(idxvars, inds, disjunction_call, container_type) end diff --git a/src/model.jl b/src/model.jl index 634aba1..e53984e 100644 --- a/src/model.jl +++ b/src/model.jl @@ -3,27 +3,27 @@ ################################################################################ """ - GDPModel([optimizer]; [kwargs...])::JuMP.Model + GDPModel([optimizer]; [kwargs...])::Model The core model object for building general disjunction programming models. """ function GDPModel(args...; kwargs...) - model = JuMP.Model(args...; kwargs...) + model = Model(args...; kwargs...) model.ext[:GDP] = GDPData() - JuMP.set_optimize_hook(model, _optimize_hook) + set_optimize_hook(model, _optimize_hook) return model end # Define what should happen to solve a GDPModel # See https://github.com/jump-dev/JuMP.jl/blob/9ea1df38fd320f864ab4c93c78631d0f15939c0b/src/JuMP.jl#L718-L745 function _optimize_hook( - model::JuMP.Model; + model::Model; method::AbstractSolutionMethod ) # can add more kwargs if wanted if !_ready_to_optimize(model) || _solution_method(model) != method reformulate_model(model, method) end - return JuMP.optimize!(model; ignore_optimize_hook = true) + return optimize!(model; ignore_optimize_hook = true) end ################################################################################ @@ -31,44 +31,44 @@ end ################################################################################ """ - gdp_data(model::JuMP.Model)::GDPData + gdp_data(model::Model)::GDPData Extract the [`GDPData`](@ref) from a `GDPModel`. """ -function gdp_data(model::JuMP.Model) +function gdp_data(model::Model) is_gdp_model(model) || error("Cannot access GDP data from a regular `JuMP.Model`.") return model.ext[:GDP] end """ - is_gdp_model(model::JuMP.Model)::Bool + is_gdp_model(model::Model)::Bool Return if `model` was created via the [`GDPModel`](@ref) constructor. """ -function is_gdp_model(model::JuMP.Model) +function is_gdp_model(model::Model) return haskey(model.ext, :GDP) end # Create accessors for GDP data fields -_logical_variables(model::JuMP.Model) = gdp_data(model).logical_variables -_logical_constraints(model::JuMP.Model) = gdp_data(model).logical_constraints -_disjunct_constraints(model::JuMP.Model) = gdp_data(model).disjunct_constraints -_disjunctions(model::JuMP.Model) = gdp_data(model).disjunctions -_indicator_to_binary(model::JuMP.Model) = gdp_data(model).indicator_to_binary -_indicator_to_constraints(model::JuMP.Model) = gdp_data(model).indicator_to_constraints -_reformulation_variables(model::JuMP.Model) = gdp_data(model).reformulation_variables -_reformulation_constraints(model::JuMP.Model) = gdp_data(model).reformulation_constraints -_ready_to_optimize(model::JuMP.Model) = gdp_data(model).ready_to_optimize # Determine if the model is ready to call `optimize!` without a optimize hook -_solution_method(model::JuMP.Model) = gdp_data(model).solution_method # Get the current solution method +_logical_variables(model::Model) = gdp_data(model).logical_variables +_logical_constraints(model::Model) = gdp_data(model).logical_constraints +_disjunct_constraints(model::Model) = gdp_data(model).disjunct_constraints +_disjunctions(model::Model) = gdp_data(model).disjunctions +_indicator_to_binary(model::Model) = gdp_data(model).indicator_to_binary +_indicator_to_constraints(model::Model) = gdp_data(model).indicator_to_constraints +_reformulation_variables(model::Model) = gdp_data(model).reformulation_variables +_reformulation_constraints(model::Model) = gdp_data(model).reformulation_constraints +_ready_to_optimize(model::Model) = gdp_data(model).ready_to_optimize # Determine if the model is ready to call `optimize!` without a optimize hook +_solution_method(model::Model) = gdp_data(model).solution_method # Get the current solution method # Update the ready_to_optimize field -function _set_ready_to_optimize(model::JuMP.Model, is_ready::Bool) +function _set_ready_to_optimize(model::Model, is_ready::Bool) gdp_data(model).ready_to_optimize = is_ready return end # Set the solution method -function _set_solution_method(model::JuMP.Model, method::AbstractSolutionMethod) +function _set_solution_method(model::Model, method::AbstractSolutionMethod) gdp_data(model).solution_method = method return end diff --git a/src/reformulate.jl b/src/reformulate.jl index dcef0d6..031a148 100644 --- a/src/reformulate.jl +++ b/src/reformulate.jl @@ -2,12 +2,12 @@ # REFORMULATE ################################################################################ """ - reformulate_model(model::JuMP.Model, method::AbstractSolutionMethod) + reformulate_model(model::Model, method::AbstractSolutionMethod) Reformulate a `GDPModel` using the specified `method`. Prior to reformulation, all previous reformulation variables and constraints are deleted. """ -function reformulate_model(model::JuMP.Model, method::AbstractSolutionMethod) +function reformulate_model(model::Model, method::AbstractSolutionMethod) #clear all previous reformulations _clear_reformulations(model) #reformulate @@ -19,9 +19,9 @@ function reformulate_model(model::JuMP.Model, method::AbstractSolutionMethod) _set_ready_to_optimize(model, true) end -function _clear_reformulations(model::JuMP.Model) - JuMP.delete.(model, _reformulation_constraints(model)) - JuMP.delete.(model, _reformulation_variables(model)) +function _clear_reformulations(model::Model) + delete.(model, _reformulation_constraints(model)) + delete.(model, _reformulation_variables(model)) empty!(gdp_data(model).reformulation_constraints) empty!(gdp_data(model).reformulation_variables) end @@ -30,13 +30,13 @@ end # LOGICAL VARIABLES ################################################################################ # create binary (indicator) variables for logic variables. -function _reformulate_logical_variables(model::JuMP.Model) +function _reformulate_logical_variables(model::Model) for (lv_idx, lv_data) in _logical_variables(model) lv = lv_data.variable lvref = LogicalVariableRef(model, lv_idx) - bvref = JuMP.@variable(model, base_name = lv_data.name, binary = true, start = lv.start_value) - if JuMP.is_fixed(lvref) - JuMP.fix(bvref, JuMP.fix_value(lvref)) + bvref = @variable(model, base_name = lv_data.name, binary = true, start = lv.start_value) + if is_fixed(lvref) + fix(bvref, fix_value(lvref)) end push!(_reformulation_variables(model), bvref) _indicator_to_binary(model)[lvref] = bvref @@ -47,25 +47,25 @@ end # DISJUNCTIONS ################################################################################ # disjunctions -function _reformulate_all_disjunctions(model::JuMP.Model, method::AbstractReformulationMethod) +function _reformulate_all_disjunctions(model::Model, method::AbstractReformulationMethod) for (_, disj) in _disjunctions(model) disj.constraint.nested && continue #only reformulate top level disjunctions ref_cons = reformulate_disjunction(model, disj.constraint, method) for (i, ref_con) in enumerate(ref_cons) name = isempty(disj.name) ? "" : string(disj.name,"_$i") - cref = JuMP.add_constraint(model, ref_con, name) + cref = add_constraint(model, ref_con, name) push!(_reformulation_constraints(model), cref) end end end -function _reformulate_disjunctions(model::JuMP.Model, method::AbstractReformulationMethod) +function _reformulate_disjunctions(model::Model, method::AbstractReformulationMethod) _reformulate_all_disjunctions(model, method) end -function _reformulate_disjunctions(model::JuMP.Model, method::BigM) +function _reformulate_disjunctions(model::Model, method::BigM) method.tighten && _query_variable_bounds(model, method) _reformulate_all_disjunctions(model, method) end -function _reformulate_disjunctions(model::JuMP.Model, method::Hull) +function _reformulate_disjunctions(model::Model, method::Hull) _query_variable_bounds(model, method) _reformulate_all_disjunctions(model, method) end @@ -73,7 +73,7 @@ end # disjuncts """ reformulate_disjunction( - model::JuMP.Model, + model::Model, disj::Disjunction, method::AbstractReformulationMethod ) where {T<:Disjunction} @@ -85,16 +85,16 @@ The `disj` field is the `ConstraintData` object for the disjunction, stored in t `disjunctions` field of the `GDPData` object. """ # generic fallback (e.g., BigM, Indicator) -function reformulate_disjunction(model::JuMP.Model, disj::Disjunction, method::AbstractReformulationMethod) - ref_cons = Vector{JuMP.AbstractConstraint}() #store reformulated constraints +function reformulate_disjunction(model::Model, disj::Disjunction, method::AbstractReformulationMethod) + ref_cons = Vector{AbstractConstraint}() #store reformulated constraints for d in disj.indicators _reformulate_disjunct(model, ref_cons, d, method) end return ref_cons end # hull specific -function reformulate_disjunction(model::JuMP.Model, disj::Disjunction, method::Hull) - ref_cons = Vector{JuMP.AbstractConstraint}() #store reformulated constraints +function reformulate_disjunction(model::Model, disj::Disjunction, method::Hull) + ref_cons = Vector{AbstractConstraint}() #store reformulated constraints disj_vrefs = _get_disjunction_variables(model, disj) hull = _Hull(method, disj_vrefs) for d in disj.indicators #reformulate each disjunct @@ -106,17 +106,17 @@ function reformulate_disjunction(model::JuMP.Model, disj::Disjunction, method::H end return ref_cons end -function reformulate_disjunction(model::JuMP.Model, disj::Disjunction, method::_Hull) +function reformulate_disjunction(model::Model, disj::Disjunction, method::_Hull) return reformulate_disjunction(model, disj, Hull(method.value, method.variable_bounds)) end # individual disjuncts -function _reformulate_disjunct(model::JuMP.Model, ref_cons::Vector{JuMP.AbstractConstraint}, lvref::LogicalVariableRef, method::AbstractReformulationMethod) +function _reformulate_disjunct(model::Model, ref_cons::Vector{AbstractConstraint}, lvref::LogicalVariableRef, method::AbstractReformulationMethod) #reformulate each constraint and add to the model bvref = _indicator_to_binary(model)[lvref] !haskey(_indicator_to_constraints(model), lvref) && return #skip if disjunct is empty for cref in _indicator_to_constraints(model)[lvref] - con = JuMP.constraint_object(cref) + con = constraint_object(cref) append!(ref_cons, reformulate_disjunct_constraint(model, con, bvref, method)) end return @@ -125,13 +125,13 @@ end # reformulation for nested disjunction # NOTE: name of inner disjunction (if given) is currently lost (not passed upwards) function reformulate_disjunct_constraint( - model::JuMP.Model, + model::Model, con::Disjunction, - bvref::JuMP.VariableRef, + bvref::VariableRef, method::AbstractReformulationMethod ) ref_cons = reformulate_disjunction(model, con, method) - new_ref_cons = Vector{JuMP.AbstractConstraint}() + new_ref_cons = Vector{AbstractConstraint}() for ref_con in ref_cons append!(new_ref_cons, reformulate_disjunct_constraint(model, ref_con, bvref, method)) end @@ -140,9 +140,9 @@ end # reformulation fallback for individual disjunct constraints function reformulate_disjunct_constraint( - model::JuMP.Model, - con::JuMP.AbstractConstraint, - bvref::JuMP.VariableRef, + model::Model, + con::AbstractConstraint, + bvref::VariableRef, method::AbstractReformulationMethod ) error("$(typeof(method)) reformulation for constraint $con is not supported yet.") @@ -152,15 +152,15 @@ end # LOGICAL CONSTRAINT REFORMULATION ################################################################################ # all logical constraints -function _reformulate_logical_constraints(model::JuMP.Model) +function _reformulate_logical_constraints(model::Model) for (_, lcon) in _logical_constraints(model) _reformulate_logical_constraint(model, lcon.constraint.func, lcon.constraint.set) end end # individual logical constraints -function _reformulate_logical_constraint(model::JuMP.Model, func, set::Union{_MOIAtMost, _MOIAtLeast, _MOIExactly}) +function _reformulate_logical_constraint(model::Model, func, set::Union{_MOIAtMost, _MOIAtLeast, _MOIExactly}) return _reformulate_selector(model, func, set) end -function _reformulate_logical_constraint(model::JuMP.Model, func, set::IsTrue) +function _reformulate_logical_constraint(model::Model, func, set::IsTrue) return _reformulate_proposition(model, func) end diff --git a/src/variables.jl b/src/variables.jl index 922e2cb..954e539 100644 --- a/src/variables.jl +++ b/src/variables.jl @@ -2,7 +2,7 @@ # LOGICAL VARIABLES ################################################################################ """ - JuMP.build_variable(_error::Function, info::JuMP.VariableInfo, + JuMP.build_variable(_error::Function, info::VariableInfo, ::Type{LogicalVariable})::LogicalVariable Extend `JuMP.build_variable` to work with logical variables. This in @@ -11,7 +11,7 @@ combination with `JuMP.add_variable` enables the use of """ function JuMP.build_variable( _error::Function, - info::JuMP.VariableInfo, + info::VariableInfo, tag::Type{LogicalVariable}; kwargs... ) @@ -36,14 +36,14 @@ function JuMP.build_variable( end """ - JuMP.add_variable(model::JuMP.Model, v::LogicalVariable, + JuMP.add_variable(model::Model, v::LogicalVariable, name::String = "")::LogicalVariableRef Extend `JuMP.add_variable` for [`LogicalVariable`](@ref)s. This helps enable `@variable(model, [var_expr], Logical)`. """ function JuMP.add_variable( - model::JuMP.Model, + model::Model, v::LogicalVariable, name::String = "" ) @@ -61,8 +61,8 @@ Base.length(v::LogicalVariableRef) = 1 function Base.:(==)(v::LogicalVariableRef, w::LogicalVariableRef) return v.model === w.model && v.index == w.index end -function Base.getindex(map::JuMP.ReferenceMap, vref::LogicalVariableRef) - return LogicalVariableRef(map.model, JuMP.index(vref)) +function Base.getindex(map::ReferenceMap, vref::LogicalVariableRef) + return LogicalVariableRef(map.model, index(vref)) end # JuMP extensions @@ -89,12 +89,12 @@ Return `true` if `v` and `w` refer to the same logical variable in the same JuMP.isequal_canonical(v::LogicalVariableRef, w::LogicalVariableRef) = v == w """ - JuMP.is_valid(model::JuMP.Model, vref::LogicalVariableRef) + JuMP.is_valid(model::Model, vref::LogicalVariableRef) Return `true` if `vref` refers to a valid logical variable in `GDP model`. """ -function JuMP.is_valid(model::JuMP.Model, vref::LogicalVariableRef) - return model === JuMP.owner_model(vref) +function JuMP.is_valid(model::Model, vref::LogicalVariableRef) + return model === owner_model(vref) end """ @@ -103,8 +103,8 @@ end Get a logical variable's name attribute. """ function JuMP.name(vref::LogicalVariableRef) - data = gdp_data(JuMP.owner_model(vref)) - return data.logical_variables[JuMP.index(vref)].name + data = gdp_data(owner_model(vref)) + return data.logical_variables[index(vref)].name end """ @@ -113,9 +113,9 @@ end Set a logical variable's name attribute. """ function JuMP.set_name(vref::LogicalVariableRef, name::String) - model = JuMP.owner_model(vref) + model = owner_model(vref) data = gdp_data(model) - data.logical_variables[JuMP.index(vref)].name = name + data.logical_variables[index(vref)].name = name _set_ready_to_optimize(model, false) return end @@ -126,8 +126,8 @@ end Return the start value of the logical variable `vref`. """ function JuMP.start_value(vref::LogicalVariableRef) - data = gdp_data(JuMP.owner_model(vref)) - return data.logical_variables[JuMP.index(vref)].variable.start_value + data = gdp_data(owner_model(vref)) + return data.logical_variables[index(vref)].variable.start_value end """ @@ -141,11 +141,11 @@ function JuMP.set_start_value( vref::LogicalVariableRef, value::Union{Nothing, Bool} ) - model = JuMP.owner_model(vref) + model = owner_model(vref) data = gdp_data(model) - var = data.logical_variables[JuMP.index(vref)].variable + var = data.logical_variables[index(vref)].variable new_var = LogicalVariable(var.fix_value, value) - data.logical_variables[JuMP.index(vref)].variable = new_var + data.logical_variables[index(vref)].variable = new_var _set_ready_to_optimize(model, false) return end @@ -157,8 +157,8 @@ Return `true` if `vref` is a fixed variable. If fix_value. """ function JuMP.is_fixed(vref::LogicalVariableRef) - data = gdp_data(JuMP.owner_model(vref)) - return !isnothing(data.logical_variables[JuMP.index(vref)].variable.fix_value) + data = gdp_data(owner_model(vref)) + return !isnothing(data.logical_variables[index(vref)].variable.fix_value) end """ @@ -167,8 +167,8 @@ end Return the value to which a logical variable is fixed. """ function JuMP.fix_value(vref::LogicalVariableRef) - data = gdp_data(JuMP.owner_model(vref)) - return data.logical_variables[JuMP.index(vref)].variable.fix_value + data = gdp_data(owner_model(vref)) + return data.logical_variables[index(vref)].variable.fix_value end """ @@ -179,11 +179,11 @@ constraint if one exists, otherwise create a new one. """ function JuMP.fix(vref::LogicalVariableRef, value::Bool) - model = JuMP.owner_model(vref) + model = owner_model(vref) data = gdp_data(model) - var = data.logical_variables[JuMP.index(vref)].variable + var = data.logical_variables[index(vref)].variable new_var = LogicalVariable(value, var.start_value) - data.logical_variables[JuMP.index(vref)].variable = new_var + data.logical_variables[index(vref)].variable = new_var _set_ready_to_optimize(model, false) return end @@ -194,42 +194,42 @@ end Delete the fixed value of a logical variable. """ function JuMP.unfix(vref::LogicalVariableRef) - model = JuMP.owner_model(vref) + model = owner_model(vref) data = gdp_data(model) - var = data.logical_variables[JuMP.index(vref)].variable + var = data.logical_variables[index(vref)].variable new_var = LogicalVariable(nothing, var.start_value) - data.logical_variables[JuMP.index(vref)].variable = new_var + data.logical_variables[index(vref)].variable = new_var _set_ready_to_optimize(model, false) return end """ - JuMP.delete(model::JuMP.Model, vref::LogicalVariableRef) + JuMP.delete(model::Model, vref::LogicalVariableRef) Delete the logical variable associated with `vref` from the `GDP model`. """ -function JuMP.delete(model::JuMP.Model, vref::LogicalVariableRef) - @assert JuMP.is_valid(model, vref) "Variable does not belong to model." - vidx = JuMP.index(vref) +function JuMP.delete(model::Model, vref::LogicalVariableRef) + @assert is_valid(model, vref) "Variable does not belong to model." + vidx = index(vref) dict = _logical_variables(model) #delete any disjunct constraints associated with the logical variables in the disjunction if haskey(_indicator_to_constraints(model), vref) crefs = _indicator_to_constraints(model)[vref] - JuMP.delete.(model, crefs) + delete.(model, crefs) delete!(_indicator_to_constraints(model), vref) end #delete any disjunctions that have the logical variable for (didx, ddata) in _disjunctions(model) if vref in ddata.constraint.indicators setdiff!(ddata.constraint.indicators, [vref]) - JuMP.delete(model, DisjunctionRef(model, didx)) + delete(model, DisjunctionRef(model, didx)) end end #delete any logical constraints involving the logical variables for (cidx, cdata) in _logical_constraints(model) lvars = _get_constraint_variables(model, cdata.constraint) if vref in lvars - JuMP.delete(model, LogicalConstraintRef(model, cidx)) + delete(model, LogicalConstraintRef(model, cidx)) end end #delete the logical variable @@ -243,26 +243,26 @@ end ################################################################################ # VARIABLE INTERROGATION ################################################################################ -function _query_variable_bounds(model::JuMP.Model, method::Union{Hull, BigM}) - for var in JuMP.all_variables(model) +function _query_variable_bounds(model::Model, method::Union{Hull, BigM}) + for var in all_variables(model) method.variable_bounds[var] = _update_variable_bounds(var, method) end end -function _get_disjunction_variables(model::JuMP.Model, disj::Disjunction) - vars = Set{JuMP.VariableRef}() +function _get_disjunction_variables(model::Model, disj::Disjunction) + vars = Set{VariableRef}() for lvref in disj.indicators !haskey(_indicator_to_constraints(model), lvref) && continue #skip if disjunct is empty for cref in _indicator_to_constraints(model)[lvref] - con = JuMP.constraint_object(cref) + con = constraint_object(cref) _interrogate_variables(v -> push!(vars, v), con) end end return vars end -function _get_constraint_variables(model::JuMP.Model, con::Union{JuMP.ScalarConstraint, JuMP.VectorConstraint}) - vars = Set{Union{JuMP.VariableRef, LogicalVariableRef}}() +function _get_constraint_variables(model::Model, con::Union{ScalarConstraint, VectorConstraint}) + vars = Set{Union{VariableRef, LogicalVariableRef}}() _interrogate_variables(v -> push!(vars, v), con.func) return vars end @@ -273,13 +273,13 @@ function _interrogate_variables(interrogator::Function, c::Number) end # VariableRef/LogicalVariableRef -function _interrogate_variables(interrogator::Function, var::Union{JuMP.VariableRef, LogicalVariableRef}) +function _interrogate_variables(interrogator::Function, var::Union{VariableRef, LogicalVariableRef}) interrogator(var) return end # AffExpr -function _interrogate_variables(interrogator::Function, aff::JuMP.GenericAffExpr) +function _interrogate_variables(interrogator::Function, aff::GenericAffExpr) for (var, _) in aff.terms interrogator(var) end @@ -287,7 +287,7 @@ function _interrogate_variables(interrogator::Function, aff::JuMP.GenericAffExpr end # QuadExpr -function _interrogate_variables(interrogator::Function, quad::JuMP.QuadExpr) +function _interrogate_variables(interrogator::Function, quad::QuadExpr) for (pair, _) in quad.terms interrogator(pair.a) interrogator(pair.b) @@ -296,8 +296,8 @@ function _interrogate_variables(interrogator::Function, quad::JuMP.QuadExpr) return end -# NonlinearExpr and _LogicalExpr (T <: Union{JuMP.VariableRef, LogicalVariableRef}) -function _interrogate_variables(interrogator::Function, nlp::JuMP.GenericNonlinearExpr{T}) where {T} +# NonlinearExpr and _LogicalExpr (T <: Union{VariableRef, LogicalVariableRef}) +function _interrogate_variables(interrogator::Function, nlp::GenericNonlinearExpr{T}) where {T} for arg in nlp.args _interrogate_variables(interrogator, arg) end @@ -307,7 +307,7 @@ function _interrogate_variables(interrogator::Function, nlp::JuMP.GenericNonline end # Constraint -function _interrogate_variables(interrogator::Function, con::Union{JuMP.ScalarConstraint, JuMP.VectorConstraint}) +function _interrogate_variables(interrogator::Function, con::Union{ScalarConstraint, VectorConstraint}) _interrogate_variables(interrogator, con.func) end @@ -325,7 +325,7 @@ end # Nested disjunction function _interrogate_variables(interrogator::Function, disj::Disjunction) - model = JuMP.owner_model(disj.indicators[1]) + model = owner_model(disj.indicators[1]) dvars = _get_disjunction_variables(model, disj) _interrogate_variables(interrogator, dvars) return From c788b10e1f038c030392207f2ce6c321db79decc Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Mon, 16 Oct 2023 13:32:03 -0400 Subject: [PATCH 23/28] add tests --- src/hull.jl | 19 ++++++++------ src/logic.jl | 2 +- test/constraints/hull.jl | 53 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 65 insertions(+), 9 deletions(-) diff --git a/src/hull.jl b/src/hull.jl index 84afb10..77741b5 100644 --- a/src/hull.jl +++ b/src/hull.jl @@ -27,7 +27,7 @@ function _disaggregate_variable(model::Model, lvref::LogicalVariableRef, vref::V #get binary indicator variable bvref = _indicator_to_binary(model)[lvref] #temp storage - if !haskey(method.disjunction_variables, vref) + if !haskey(method.disjunction_variables, vref) #NOTE: not needed because _Hull disjunction_variables is initialized with all the variables in the disjunction method.disjunction_variables[vref] = Vector{VariableRef}() end push!(method.disjunction_variables[vref], dvref) @@ -66,7 +66,7 @@ end # variable function _disaggregate_expression(model::Model, vref::VariableRef, bvref::VariableRef, method::_Hull) if is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged - return vref + return vref #NOTE: not needed because nested constraint of the form `vref in MOI.AbstractScalarSet` gets reformulated to an affine expression. else #replace with disaggregated form return method.disjunct_variables[vref, bvref] end @@ -105,17 +105,20 @@ function _disaggregate_nl_expression(model::Model, c::Number, ::VariableRef, met end # variable in NonlinearExpr function _disaggregate_nl_expression(model::Model, vref::VariableRef, bvref::VariableRef, method::_Hull) - ϵ = method.value - dvref = method.disjunct_variables[vref, bvref] - new_var = dvref / ((1-ϵ)*bvref+ϵ) - return new_var + if is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged + return vref + else #replace with disaggregated form + ϵ = method.value + dvref = method.disjunct_variables[vref, bvref] + return dvref / ((1-ϵ)*bvref+ϵ) + end end # affine expression in NonlinearExpr function _disaggregate_nl_expression(model::Model, aff::AffExpr, bvref::VariableRef, method::_Hull) new_expr = aff.constant ϵ = method.value for (vref, coeff) in aff.terms - if is_binary(vref) #keep any binary variables undisaggregated + if is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged dvref = vref else #replace other vars with disaggregated form dvref = method.disjunct_variables[vref, bvref] @@ -125,6 +128,8 @@ function _disaggregate_nl_expression(model::Model, aff::AffExpr, bvref::Variable return new_expr end # quadratic expression in NonlinearExpr +# TODO review what happens when there are bilinear terms with binary variables involved since these are not being disaggregated +# (e.g., complementarity constraints; though likely irrelevant)... function _disaggregate_nl_expression(model::Model, quad::QuadExpr, bvref::VariableRef, method::_Hull) #get affine part new_expr = _disaggregate_nl_expression(model, quad.aff, bvref, method) diff --git a/src/logic.jl b/src/logic.jl index 2a97aca..dca44c7 100644 --- a/src/logic.jl +++ b/src/logic.jl @@ -248,7 +248,7 @@ function _reformulate_proposition(model::Model, lexpr::_LogicalExpr) end elseif expr.head in (:||, :!) && all(_isa_literal.(expr.args)) _add_reformulated_proposition(model, expr) - else + else #NOTE: should never enter the `else` section error("Expression $expr was not converted to proper Conjunctive Normal Form.") end end diff --git a/test/constraints/hull.jl b/test/constraints/hull.jl index f4f9fdf..756078a 100644 --- a/test/constraints/hull.jl +++ b/test/constraints/hull.jl @@ -39,9 +39,10 @@ function test_disaggregate_variables() @variable(model, 10 <= x <= 100) @variable(model, y, Bin) @variable(model, z, Logical) - vrefs = Set([x,y]) + vrefs = Set{VariableRef}() #initialize empty set to check if method.disjunct_variables has variables added to it in _disaggregate_variable call DP._reformulate_logical_variables(model) method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) + vrefs = Set([x,y]) DP._disaggregate_variables(model, z, vrefs, method) refvars = DP._reformulation_variables(model) @@ -76,6 +77,38 @@ function test_aggregate_variable() @test refcons[1].set == MOI.EqualTo(0.) end +function test_disaggregate_expression_var_binary() + model = GDPModel() + @variable(model, x, Bin) + @variable(model, z, Logical) + DP._reformulate_logical_variables(model) + bvrefs = DP._indicator_to_binary(model) + + vrefs = Set([x]) + method = DP._Hull(Hull(1e-3, Dict(x => (0., 1.))), vrefs) + DP._disaggregate_variables(model, z, vrefs, method) + @test isnothing(variable_by_name(model, "x_z")) + + refexpr = DP._disaggregate_expression(model, x, bvrefs[z], method) + @test refexpr == x +end + +function test_disaggregate_expression_var() + model = GDPModel() + @variable(model, 10 <= x <= 100) + @variable(model, z, Logical) + DP._reformulate_logical_variables(model) + bvrefs = DP._indicator_to_binary(model) + + vrefs = Set([x]) + method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) + DP._disaggregate_variables(model, z, vrefs, method) + + refexpr = DP._disaggregate_expression(model, x, bvrefs[z], method) + x_z = variable_by_name(model, "x_z") + @test refexpr == x_z +end + function test_disaggregate_expression_affine() model = GDPModel() @variable(model, 10 <= x <= 100) @@ -131,6 +164,21 @@ function test_disaggregate_nl_expression_c() @test refexpr == 1 end +function test_disaggregate_nl_expression_var_binary() + model = GDPModel() + @variable(model, x, Bin) + @variable(model, z, Logical) + DP._reformulate_logical_variables(model) + bvrefs = DP._indicator_to_binary(model) + + vrefs = Set([x]) + method = DP._Hull(Hull(1e-3, Dict(x => (0., 1.))), vrefs) + DP._disaggregate_variables(model, z, vrefs, method) + + refexpr = DP._disaggregate_nl_expression(model, x, bvrefs[z], method) + @test refexpr == x +end + function test_disaggregate_nl_expression_var() model = GDPModel() @variable(model, 10 <= x <= 100) @@ -548,9 +596,12 @@ end test_query_variable_bounds_error2() test_disaggregate_variables() test_aggregate_variable() + test_disaggregate_expression_var_binary() + test_disaggregate_expression_var() test_disaggregate_expression_affine() test_disaggregate_expression_quadratic() test_disaggregate_nl_expression_c() + test_disaggregate_nl_expression_var_binary() test_disaggregate_nl_expression_var() test_disaggregate_nl_expression_aff() test_disaggregate_nl_expression_quad() From fae47b1f01cc1f89d46fc3e432f6a8ff6fdfb140 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Mon, 16 Oct 2023 14:50:21 -0400 Subject: [PATCH 24/28] add Hull tests/bug fix --- src/hull.jl | 8 ++--- test/constraints/hull.jl | 72 ++++++++++++++++++++++++++++++++++------ 2 files changed, 65 insertions(+), 15 deletions(-) diff --git a/src/hull.jl b/src/hull.jl index 77741b5..c26e61d 100644 --- a/src/hull.jl +++ b/src/hull.jl @@ -105,13 +105,13 @@ function _disaggregate_nl_expression(model::Model, c::Number, ::VariableRef, met end # variable in NonlinearExpr function _disaggregate_nl_expression(model::Model, vref::VariableRef, bvref::VariableRef, method::_Hull) + ϵ = method.value if is_binary(vref) || !haskey(method.disjunct_variables, (vref, bvref)) #keep any binary variables or nested disaggregated variables unchanged - return vref + dvref = vref else #replace with disaggregated form - ϵ = method.value dvref = method.disjunct_variables[vref, bvref] - return dvref / ((1-ϵ)*bvref+ϵ) end + return dvref / ((1-ϵ)*bvref+ϵ) end # affine expression in NonlinearExpr function _disaggregate_nl_expression(model::Model, aff::AffExpr, bvref::VariableRef, method::_Hull) @@ -123,7 +123,7 @@ function _disaggregate_nl_expression(model::Model, aff::AffExpr, bvref::Variable else #replace other vars with disaggregated form dvref = method.disjunct_variables[vref, bvref] end - new_expr += coeff * dvref / ((1-ϵ)*bvref+ϵ) + new_expr += coeff * dvref / ((1-ϵ)*bvref+ϵ) end return new_expr end diff --git a/test/constraints/hull.jl b/test/constraints/hull.jl index 756078a..1e151ef 100644 --- a/test/constraints/hull.jl +++ b/test/constraints/hull.jl @@ -77,6 +77,22 @@ function test_aggregate_variable() @test refcons[1].set == MOI.EqualTo(0.) end +function test_disaggregate_expression_var() + model = GDPModel() + @variable(model, 10 <= x <= 100) + @variable(model, z, Logical) + DP._reformulate_logical_variables(model) + bvrefs = DP._indicator_to_binary(model) + + vrefs = Set([x]) + method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) + DP._disaggregate_variables(model, z, vrefs, method) + + refexpr = DP._disaggregate_expression(model, x, bvrefs[z], method) + x_z = variable_by_name(model, "x_z") + @test refexpr == x_z +end + function test_disaggregate_expression_var_binary() model = GDPModel() @variable(model, x, Bin) @@ -93,7 +109,7 @@ function test_disaggregate_expression_var_binary() @test refexpr == x end -function test_disaggregate_expression_var() +function test_disaggregate_expression_affine() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) @@ -104,26 +120,28 @@ function test_disaggregate_expression_var() method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) DP._disaggregate_variables(model, z, vrefs, method) - refexpr = DP._disaggregate_expression(model, x, bvrefs[z], method) + refexpr = DP._disaggregate_expression(model, 2x + 1, bvrefs[z], method) x_z = variable_by_name(model, "x_z") - @test refexpr == x_z + zbin = variable_by_name(model, "z") + @test refexpr == 2x_z + 1zbin end -function test_disaggregate_expression_affine() +function test_disaggregate_expression_affine_mip() model = GDPModel() @variable(model, 10 <= x <= 100) + @variable(model, y, Bin) @variable(model, z, Logical) DP._reformulate_logical_variables(model) bvrefs = DP._indicator_to_binary(model) - vrefs = Set([x]) - method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), vrefs) + vrefs = Set([x, y]) + method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.), y => (0., 1.))), vrefs) DP._disaggregate_variables(model, z, vrefs, method) - refexpr = DP._disaggregate_expression(model, 2x + 1, bvrefs[z], method) + refexpr = DP._disaggregate_expression(model, 2x + y + 1, bvrefs[z], method) x_z = variable_by_name(model, "x_z") zbin = variable_by_name(model, "z") - @test refexpr == 2x_z + 1zbin + @test refexpr == 2x_z + y + 1zbin end function test_disaggregate_expression_quadratic() @@ -176,7 +194,10 @@ function test_disaggregate_nl_expression_var_binary() DP._disaggregate_variables(model, z, vrefs, method) refexpr = DP._disaggregate_nl_expression(model, x, bvrefs[z], method) - @test refexpr == x + ϵ = method.value + @test refexpr.head == :/ + @test x in refexpr.args + @test (1-ϵ)*bvrefs[z]+ϵ in refexpr.args end function test_disaggregate_nl_expression_var() @@ -222,6 +243,33 @@ function test_disaggregate_nl_expression_aff() @test (1-ϵ)*zbin+ϵ in arg2.args end +function test_disaggregate_nl_expression_aff_mip() + model = GDPModel() + @variable(model, 10 <= x <= 100) + @variable(model, y, Bin) + @variable(model, z, Logical) + DP._reformulate_logical_variables(model) + bvrefs = DP._indicator_to_binary(model) + + vrefs = Set([x,y]) + method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.), y => (0., 1.))), vrefs) + DP._disaggregate_variables(model, z, vrefs, method) + + refexpr = DP._disaggregate_nl_expression(model, 2x + y + 1, bvrefs[z], method) + flatten!(refexpr) + x_z = variable_by_name(model, "x_z") + zbin = variable_by_name(model, "z") + ϵ = method.value + @test refexpr.head == :+ + @test 1 in refexpr.args + args2 = setdiff(refexpr.args, [1]) + for arg in args2 + @test arg.head == :/ + @test 2x_z in arg.args || 1y in arg.args + @test (1-ϵ)*zbin+ϵ in arg.args + end +end + function test_disaggregate_nl_expression_quad() model = GDPModel() @variable(model, 10 <= x <= 100) @@ -596,14 +644,16 @@ end test_query_variable_bounds_error2() test_disaggregate_variables() test_aggregate_variable() - test_disaggregate_expression_var_binary() test_disaggregate_expression_var() + test_disaggregate_expression_var_binary() test_disaggregate_expression_affine() + test_disaggregate_expression_affine_mip() test_disaggregate_expression_quadratic() test_disaggregate_nl_expression_c() - test_disaggregate_nl_expression_var_binary() test_disaggregate_nl_expression_var() + test_disaggregate_nl_expression_var_binary() test_disaggregate_nl_expression_aff() + test_disaggregate_nl_expression_aff_mip() test_disaggregate_nl_expression_quad() test_disaggregate_nl_expession() for s in (MOI.LessThan, MOI.GreaterThan, MOI.EqualTo) From e40f340a9447e326ec5a26a7b69b029aa0cdd671 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Mon, 16 Oct 2023 15:46:08 -0400 Subject: [PATCH 25/28] add tests --- src/macros.jl | 11 +---------- test/{ => constraints}/disjunction.jl | 13 +++++++++++++ test/runtests.jl | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) rename test/{ => constraints}/disjunction.jl (95%) diff --git a/src/macros.jl b/src/macros.jl index 316009a..f71eb8e 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -46,7 +46,7 @@ function _name_call(base_name, idxvars) return ex end -# Process macro arugments +# Process macro arguments function _extract_kwargs(args) arg_list = collect(args) if !isempty(args) && isexpr(args[1], :parameters) @@ -89,15 +89,6 @@ function _add_positional_args(call, args) return end -# Determine if an expression contains any index variable symbols -function _has_idxvars(expr, idxvars) - expr in idxvars && return true - if expr isa Expr - return any(_has_idxvars(a, idxvars) for a in expr.args) - end - return false -end - # Ensure a model argument is valid # Inspired from https://github.com/jump-dev/JuMP.jl/blob/d9cd5fb16c2d0a7e1c06aa9941923492fc9a28b5/src/macros.jl#L38-L44 function _valid_model(_error::Function, model, name) diff --git a/test/disjunction.jl b/test/constraints/disjunction.jl similarity index 95% rename from test/disjunction.jl rename to test/constraints/disjunction.jl index 728d9da..1b27358 100644 --- a/test/disjunction.jl +++ b/test/constraints/disjunction.jl @@ -1,3 +1,12 @@ +function test_macro_helpers() + @test DP._esc_non_constant(1) == 1 + @test DP._get_name(:x) == :x + @test DP._get_name("x") == "x" + @test DP._get_name(Expr(:string,"x")) == Expr(:string,"x") + @test DP._name_call("",[]) == "" + @test DP._name_call("name",[]) == "name" +end + function test_disjunction_add_fail() model = GDPModel() @variable(model, x) @@ -21,6 +30,7 @@ function test_disjunction_add_fail() @constraint(model, x == 10, DisjunctConstraint(y[2])) @disjunction(model, disj, y) @test_macro_throws UndefVarError @disjunction(model, disj, y) #duplicate name + @test_throws ErrorException DP._error_if_cannot_register(error, model, :disj) #duplicate name @test_macro_throws ErrorException @disjunction(model, "bad"[i=1:2], y) #wrong expression for disjunction name @test_macro_throws ErrorException @disjunction(model, [model=1:2], y) #index name can't be same as model name @@ -209,6 +219,9 @@ function test_disjunction_function_nested() end @testset "Disjunction" begin + @testset "Macro Helpers" begin + test_macro_helpers() + end @testset "Add Disjunction" begin test_disjunction_add_fail() test_disjunction_add_success() diff --git a/test/runtests.jl b/test/runtests.jl index 35676e2..f607a9e 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -37,5 +37,5 @@ include("constraints/indicator.jl") include("constraints/bigm.jl") include("constraints/hull.jl") include("constraints/fallback.jl") -include("disjunction.jl") +include("constraints/disjunction.jl") include("solve.jl") \ No newline at end of file From 98f5246eac8e60a7dab9db23128a280a01d1ba04 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Mon, 16 Oct 2023 20:51:33 -0400 Subject: [PATCH 26/28] macro helper test --- test/constraints/disjunction.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/constraints/disjunction.jl b/test/constraints/disjunction.jl index 1b27358..f0684d0 100644 --- a/test/constraints/disjunction.jl +++ b/test/constraints/disjunction.jl @@ -2,6 +2,7 @@ function test_macro_helpers() @test DP._esc_non_constant(1) == 1 @test DP._get_name(:x) == :x @test DP._get_name("x") == "x" + @test DP._get_name(nothing) == () @test DP._get_name(Expr(:string,"x")) == Expr(:string,"x") @test DP._name_call("",[]) == "" @test DP._name_call("name",[]) == "name" From b6e0902dbe18617c1cbec91f1374d908ea732178 Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Mon, 16 Oct 2023 21:07:04 -0400 Subject: [PATCH 27/28] breaking: replace DisjunctConstraint with Disjunct --- README.md | 14 ++++---- docs/src/index.md | 14 ++++---- examples/ex1.jl | 6 ++-- examples/ex2.jl | 4 +-- examples/ex3.jl | 8 ++--- examples/ex5.jl | 10 +++--- examples/ex6.jl | 22 ++++++------- src/constraints.jl | 20 ++++++------ src/datatypes.jl | 10 +++--- src/macros.jl | 6 ++-- test/constraints/bigm.jl | 32 +++++++++--------- test/constraints/disjunct.jl | 20 ++++++------ test/constraints/disjunction.jl | 58 ++++++++++++++++----------------- test/constraints/hull.jl | 30 ++++++++--------- test/constraints/indicator.jl | 40 +++++++++++------------ test/solve.jl | 10 +++--- test/variables/logical.jl | 4 +-- test/variables/query.jl | 20 ++++++------ 18 files changed, 164 insertions(+), 164 deletions(-) diff --git a/README.md b/README.md index 1833b5f..8237cc3 100644 --- a/README.md +++ b/README.md @@ -85,12 +85,12 @@ Two types of logical constraints are supported: ## Disjunctions -Disjunctions are built by first defining the constraints associated with each disjunct. This is done via the `@constraint` JuMP macro with the extra `DisjunctConstraint` tag specifying the Logical variable associated with the constraint: +Disjunctions are built by first defining the constraints associated with each disjunct. This is done via the `@constraint` JuMP macro with the extra `Disjunct` tag specifying the Logical variable associated with the constraint: ```julia @variable(model, x) -@constraint(model, x ≤ 100, DisjunctConstraint(Y[1])) -@constraint(model, x ≥ 200, DisjunctConstraint(Y[2])) +@constraint(model, x ≤ 100, Disjunct(Y[1])) +@constraint(model, x ≥ 200, Disjunct(Y[2])) ``` After all disjunct constraints associated with a disjunction have been defined, the disjunction is created with the `@disjunction` macro, where the disjunction is defined as a `Vector` of Logical variables associated with each disjunct: @@ -99,10 +99,10 @@ After all disjunct constraints associated with a disjunction have been defined, @disjunction(model, [Y[1], Y[2]]) ``` -Disjunctions can be nested by passing an additional `DisjunctConstraint` tag. The Logical variable in the `DisjunctConstraint` tag specifies which disjunct, the nested disjunction belongs to: +Disjunctions can be nested by passing an additional `Disjunct` tag. The Logical variable in the `Disjunct` tag specifies which disjunct, the nested disjunction belongs to: ```julia -@disjunction(model, Y[1:2], DisjunctConstraint(Y[3])) +@disjunction(model, Y[1:2], Disjunct(Y[3])) ``` Empty disjuncts are supported in GDP models. When used, the only constraints enforced on the model when the empty disjunct is selected are the global constraints and any other disjunction constraints defined. @@ -139,8 +139,8 @@ using HiGHS m = GDPModel(HiGHS.Optimizer) @variable(m, 0 ≤ x[1:2] ≤ 20) @variable(m, Y[1:2], Logical) -@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) -@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) +@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], Disjunct(Y[1])) +@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], Disjunct(Y[2])) @disjunction(m, Y) @constraint(m, Y in Exactly(1)) #logical constraint @objective(m, Max, sum(x)) diff --git a/docs/src/index.md b/docs/src/index.md index 587725e..22d382e 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -85,12 +85,12 @@ Two types of logical constraints are supported: ## Disjunctions -Disjunctions are built by first defining the constraints associated with each disjunct. This is done via the `@constraint` JuMP macro with the extra `DisjunctConstraint` tag specifying the Logical variable associated with the constraint: +Disjunctions are built by first defining the constraints associated with each disjunct. This is done via the `@constraint` JuMP macro with the extra `Disjunct` tag specifying the Logical variable associated with the constraint: ```julia @variable(model, x) -@constraint(model, x ≤ 100, DisjunctConstraint(Y[1])) -@constraint(model, x ≥ 200, DisjunctConstraint(Y[2])) +@constraint(model, x ≤ 100, Disjunct(Y[1])) +@constraint(model, x ≥ 200, Disjunct(Y[2])) ``` After all disjunct constraints associated with a disjunction have been defined, the disjunction is created with the `@disjunction` macro, where the disjunction is defined as a `Vector` of Logical variables associated with each disjunct: @@ -99,10 +99,10 @@ After all disjunct constraints associated with a disjunction have been defined, @disjunction(model, [Y[1], Y[2]]) ``` -Disjunctions can be nested by passing an additional `DisjunctConstraint` tag. The Logical variable in the `DisjunctConstraint` tag specifies which disjunct, the nested disjunction belongs to: +Disjunctions can be nested by passing an additional `Disjunct` tag. The Logical variable in the `Disjunct` tag specifies which disjunct, the nested disjunction belongs to: ```julia -@disjunction(model, Y[1:2], DisjunctConstraint(Y[3])) +@disjunction(model, Y[1:2], Disjunct(Y[3])) ``` Empty disjuncts are supported in GDP models. When used, the only constraints enforced on the model when the empty disjunct is selected are the global constraints and any other disjunction constraints defined. @@ -139,8 +139,8 @@ using HiGHS m = GDPModel(HiGHS.Optimizer) @variable(m, 0 ≤ x[1:2] ≤ 20) @variable(m, Y[1:2], Logical) -@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) -@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) +@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], Disjunct(Y[1])) +@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], Disjunct(Y[2])) @disjunction(m, Y) @constraint(m, Y in Exactly(1)) #logical constraint @objective(m, Max, sum(x)) diff --git a/examples/ex1.jl b/examples/ex1.jl index df28508..938b739 100644 --- a/examples/ex1.jl +++ b/examples/ex1.jl @@ -7,9 +7,9 @@ using HiGHS m = GDPModel() @variable(m, -5 ≤ x ≤ 10) @variable(m, Y[1:2], Logical) -@constraint(m, 0 ≤ x ≤ 3, DisjunctConstraint(Y[1])) -@constraint(m, 5 ≤ x, DisjunctConstraint(Y[2])) -@constraint(m, x ≤ 9, DisjunctConstraint(Y[2])) +@constraint(m, 0 ≤ x ≤ 3, Disjunct(Y[1])) +@constraint(m, 5 ≤ x, Disjunct(Y[2])) +@constraint(m, x ≤ 9, Disjunct(Y[2])) @disjunction(m, [Y[1], Y[2]]) @constraint(m, Y in Exactly(1)) @objective(m, Max, x) diff --git a/examples/ex2.jl b/examples/ex2.jl index ba8fbf9..eb4876e 100644 --- a/examples/ex2.jl +++ b/examples/ex2.jl @@ -5,8 +5,8 @@ using HiGHS m = GDPModel(HiGHS.Optimizer) @variable(m, 0 ≤ x[1:2] ≤ 20) @variable(m, Y[1:2], Logical) -@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], DisjunctConstraint(Y[1])) -@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], DisjunctConstraint(Y[2])) +@constraint(m, [i = 1:2], [2,5][i] ≤ x[i] ≤ [6,9][i], Disjunct(Y[1])) +@constraint(m, [i = 1:2], [8,10][i] ≤ x[i] ≤ [11,15][i], Disjunct(Y[2])) @disjunction(m, Y) @constraint(m, Y in Exactly(1)) #logical constraint @objective(m, Max, sum(x)) diff --git a/examples/ex3.jl b/examples/ex3.jl index e01ab5b..6bf5d3f 100644 --- a/examples/ex3.jl +++ b/examples/ex3.jl @@ -3,10 +3,10 @@ using DisjunctiveProgramming m = GDPModel() @variable(m, -5 ≤ x ≤ 10) @variable(m, Y[1:2], Logical) -@constraint(m, exp(x) <= 2, DisjunctConstraint(Y[1])) -@constraint(m, x >= -3, DisjunctConstraint(Y[1])) -@constraint(m, exp(x) >= 3, DisjunctConstraint(Y[2])) -@constraint(m, x >= 5, DisjunctConstraint(Y[2])) +@constraint(m, exp(x) <= 2, Disjunct(Y[1])) +@constraint(m, x >= -3, Disjunct(Y[1])) +@constraint(m, exp(x) >= 3, Disjunct(Y[2])) +@constraint(m, x >= 5, Disjunct(Y[2])) @disjunction(m, Y) @constraint(m, Y in Exactly(1)) #logical constraint @objective(m, Max, x) diff --git a/examples/ex5.jl b/examples/ex5.jl index d81e938..2202f79 100644 --- a/examples/ex5.jl +++ b/examples/ex5.jl @@ -7,11 +7,11 @@ m = GDPModel() @variable(m, Y[1:2], Logical) @variable(m, W[1:2], Logical) @objective(m, Max, sum(x)) -@constraint(m, y1[i=1:2], [1,4][i] ≤ x[i] ≤ [3,6][i], DisjunctConstraint(Y[1])) -@constraint(m, w1[i=1:2], [1,5][i] ≤ x[i] ≤ [2,6][i], DisjunctConstraint(W[1])) -@constraint(m, w2[i=1:2], [2,4][i] ≤ x[i] ≤ [3,5][i], DisjunctConstraint(W[2])) -@constraint(m, y2[i=1:2], [8,1][i] ≤ x[i] ≤ [9,2][i], DisjunctConstraint(Y[2])) -@disjunction(m, inner, [W[1], W[2]], DisjunctConstraint(Y[1])) +@constraint(m, y1[i=1:2], [1,4][i] ≤ x[i] ≤ [3,6][i], Disjunct(Y[1])) +@constraint(m, w1[i=1:2], [1,5][i] ≤ x[i] ≤ [2,6][i], Disjunct(W[1])) +@constraint(m, w2[i=1:2], [2,4][i] ≤ x[i] ≤ [3,5][i], Disjunct(W[2])) +@constraint(m, y2[i=1:2], [8,1][i] ≤ x[i] ≤ [9,2][i], Disjunct(Y[2])) +@disjunction(m, inner, [W[1], W[2]], Disjunct(Y[1])) @disjunction(m, outer, [Y[1], Y[2]]) @constraint(m, Y in Exactly(1)) @constraint(m, W in Exactly(Y[1])) diff --git a/examples/ex6.jl b/examples/ex6.jl index 0e057cc..f86e73f 100644 --- a/examples/ex6.jl +++ b/examples/ex6.jl @@ -5,24 +5,24 @@ m = GDPModel() @variable(m, -5 <= x[1:3] <= 5) @variable(m, y[1:2], Logical) -@constraint(m, x[1] <= -2, DisjunctConstraint(y[1])) -@constraint(m, x[1] >= 2, DisjunctConstraint(y[2])) -@constraint(m, x[2] == -1, DisjunctConstraint(y[2])) -@constraint(m, x[3] == 1, DisjunctConstraint(y[2])) +@constraint(m, x[1] <= -2, Disjunct(y[1])) +@constraint(m, x[1] >= 2, Disjunct(y[2])) +@constraint(m, x[2] == -1, Disjunct(y[2])) +@constraint(m, x[3] == 1, Disjunct(y[2])) @disjunction(m, y) @constraint(m, y in Exactly(1)) @variable(m, w[1:2], Logical) -@constraint(m, x[2] <= -3, DisjunctConstraint(w[1])) -@constraint(m, x[2] >= 3, DisjunctConstraint(w[2])) -@constraint(m, x[3] == 0, DisjunctConstraint(w[2])) -@disjunction(m, w, DisjunctConstraint(y[1])) +@constraint(m, x[2] <= -3, Disjunct(w[1])) +@constraint(m, x[2] >= 3, Disjunct(w[2])) +@constraint(m, x[3] == 0, Disjunct(w[2])) +@disjunction(m, w, Disjunct(y[1])) @constraint(m, w in Exactly(y[1])) @variable(m, z[1:2], Logical) -@constraint(m, x[3] <= -4, DisjunctConstraint(z[1])) -@constraint(m, x[3] >= 4, DisjunctConstraint(z[2])) -@disjunction(m, z, DisjunctConstraint(w[1])) +@constraint(m, x[3] <= -4, Disjunct(z[1])) +@constraint(m, x[3] >= 4, Disjunct(z[2])) +@disjunction(m, z, Disjunct(w[1])) @constraint(m, z in Exactly(w[1])) ## diff --git a/src/constraints.jl b/src/constraints.jl index 1acdab1..7510baf 100644 --- a/src/constraints.jl +++ b/src/constraints.jl @@ -163,20 +163,20 @@ end _error::Function, func, set::_MOI.AbstractScalarSet, - tag::DisjunctConstraint + tag::Disjunct )::_DisjunctConstraint Extend `JuMP.build_constraint` to add constraints to disjuncts. This in combination with `JuMP.add_constraint` enables the use of `@constraint(model, [name], constr_expr, tag)`, where tag is a -`DisjunctConstraint(::Type{LogicalVariableRef})`. The user must specify the +`Disjunct(::Type{LogicalVariableRef})`. The user must specify the `LogicalVariable` to use as the indicator for the `_DisjunctConstraint` being created. """ function JuMP.build_constraint( _error::Function, func, set::_MOI.AbstractScalarSet, - tag::DisjunctConstraint + tag::Disjunct ) _check_expression(func) constr = build_constraint(_error, func, set) @@ -194,7 +194,7 @@ for SetType in ( _error::Function, func, set::$($SetType), - tag::DisjunctConstraint + tag::Disjunct )::_DisjunctConstraint Extend `JuMP.build_constraint` to add `VectorConstraint`s to disjuncts. @@ -203,7 +203,7 @@ for SetType in ( _error::Function, func, set::$SetType, - tag::DisjunctConstraint + tag::Disjunct ) _check_expression(func) constr = build_constraint(_error, func, set) @@ -218,7 +218,7 @@ function JuMP.build_constraint( func::AbstractJuMPScalar, lb::Real, ub::Real, - tag::DisjunctConstraint + tag::Disjunct ) _check_expression(func) constr = build_constraint(_error, func, lb, ub) @@ -234,7 +234,7 @@ end name::String = "" )::DisjunctConstraintRef -Extend `JuMP.add_constraint` to add a [`DisjunctConstraint`](@ref) to a [`GDPModel`](@ref). +Extend `JuMP.add_constraint` to add a [`Disjunct`](@ref) to a [`GDPModel`](@ref). The constraint is added to the `GDPData` in the `.ext` dictionary of the `GDPModel`. """ function JuMP.add_constraint( @@ -329,7 +329,7 @@ function _disjunction( model::Model, # TODO: generalize to AbstractModel structure, name::String, - tag::DisjunctConstraint + tag::Disjunct ) dref = _create_disjunction(_error, model, structure, name, true) obj = constraint_object(dref) @@ -362,7 +362,7 @@ Function to add a [`Disjunction`](@ref) to a [`GDPModel`](@ref). disjunction( model::Model, disjunct_indicators::Vector{LogicalVariableRef}, - nested_tag::DisjunctConstraint, + nested_tag::Disjunct, name::String = "" ) @@ -378,7 +378,7 @@ end function disjunction( model::Model, disjunct_indicators, - nested_tag::DisjunctConstraint, + nested_tag::Disjunct, name::String = "" ) # TODO add kw argument to build exactly 1 constraint return _disjunction(error, model, disjunct_indicators, name, nested_tag) diff --git a/src/datatypes.jl b/src/datatypes.jl index 65292b0..674f625 100644 --- a/src/datatypes.jl +++ b/src/datatypes.jl @@ -176,20 +176,20 @@ end # DISJUNCT CONSTRAINTS ################################################################################ """ - DisjunctConstraint + Disjunct Used as a tag for constraints that will be used in disjunctions. This is done via the following syntax: ```julia-repl -julia> @constraint(model, [constr_expr], DisjunctConstraint) +julia> @constraint(model, [constr_expr], Disjunct) -julia> @constraint(model, [constr_expr], DisjunctConstraint(lvref)) +julia> @constraint(model, [constr_expr], Disjunct(lvref)) ``` where `lvref` is a [`LogicalVariableRef`](@ref) that will ultimately be associated with the disjunct the constraint is added to. If no `lvref` is given, then one is generated when the disjunction is created. """ -struct DisjunctConstraint +struct Disjunct indicator::LogicalVariableRef end @@ -202,7 +202,7 @@ end """ DisjunctConstraintIndex -A type for storing the index of a [`DisjunctConstraint`](@ref). +A type for storing the index of a [`Disjunct`](@ref). **Fields** - `value::Int64`: The index value. diff --git a/src/macros.jl b/src/macros.jl index f71eb8e..d2a7344 100644 --- a/src/macros.jl +++ b/src/macros.jl @@ -172,7 +172,7 @@ macro disjunction(model, args...) _error("Invalid syntax. Did you mean to use `@disjunctions`?") end - # TODO: three cases lead to problems when julia variables are used for DisjunctConstraint tags + # TODO: three cases lead to problems when julia variables are used for Disjunct tags # which violate the cases considered in the table further below. The three cases are # (i) @disjunction(m, Y[1, :], tag[1]) --> gets confused for @disjunction(m, name[...], Y[1, :]) (Case 2 below) # (ii) @disjunction(m, Y, tagref) --> gets confused for @disjunction(m, name, Y) (Case 1 below) @@ -281,8 +281,8 @@ model = GDPModel(); @variable(model, w); @variable(model, x); @variable(model, Y[1:4], LogicalVariable); -@constraint(model, [i=1:2], w == i, DisjunctConstraint(Y[i])); -@constraint(model, [i=3:4], x == i, DisjunctConstraint(Y[i])); +@constraint(model, [i=1:2], w == i, Disjunct(Y[i])); +@constraint(model, [i=3:4], x == i, Disjunct(Y[i])); @disjunctions(model, begin [Y[1], Y[2]] [Y[3], Y[4]] diff --git a/test/constraints/bigm.jl b/test/constraints/bigm.jl index eef1872..f097228 100644 --- a/test/constraints/bigm.jl +++ b/test/constraints/bigm.jl @@ -20,7 +20,7 @@ function test_get_M_1sided() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, 3*x <= 1, DisjunctConstraint(y)) + @constraint(model, con, 3*x <= 1, Disjunct(y)) cobj = constraint_object(con) M = DP._get_M(cobj.func, cobj.set, BigM(100, false)) @test M == 100 @@ -31,7 +31,7 @@ function test_get_tight_M_1sided() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, 3*x <= 1, DisjunctConstraint(y)) + @constraint(model, con, 3*x <= 1, Disjunct(y)) cobj = constraint_object(con) method = BigM(100) @@ -54,7 +54,7 @@ function test_get_M_2sided() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, 3*x == 1, DisjunctConstraint(y)) + @constraint(model, con, 3*x == 1, Disjunct(y)) cobj = constraint_object(con) method = BigM(100) @@ -70,7 +70,7 @@ function test_get_tight_M_2sided() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, 3*x == 1, DisjunctConstraint(y)) + @constraint(model, con, 3*x == 1, Disjunct(y)) cobj = constraint_object(con) method = BigM(100) @@ -177,7 +177,7 @@ function test_lessthan_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, x <= 5, DisjunctConstraint(y)) + @constraint(model, con, x <= 5, Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -191,7 +191,7 @@ function test_nonpositives_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, [x; x] <= [5; 5], DisjunctConstraint(y)) + @constraint(model, con, [x; x] <= [5; 5], Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -206,7 +206,7 @@ function test_greaterthan_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, x >= 5, DisjunctConstraint(y)) + @constraint(model, con, x >= 5, Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -220,7 +220,7 @@ function test_nonnegatives_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, [x; x] >= [5; 5], DisjunctConstraint(y)) + @constraint(model, con, [x; x] >= [5; 5], Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -235,7 +235,7 @@ function test_equalto_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, x == 5, DisjunctConstraint(y)) + @constraint(model, con, x == 5, Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -251,7 +251,7 @@ function test_interval_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, 5 <= x <= 5, DisjunctConstraint(y)) + @constraint(model, con, 5 <= x <= 5, Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -267,7 +267,7 @@ function test_zeros_bigm() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, con, [x; x] == [5; 5], DisjunctConstraint(y)) + @constraint(model, con, [x; x] == [5; 5], Disjunct(y)) DP._reformulate_logical_variables(model) bvref = DP._indicator_to_binary(model)[y] @@ -286,11 +286,11 @@ function test_nested_bigm() @variable(model, -100 <= x <= 100) @variable(model, y[1:2], Logical) @variable(model, z[1:2], Logical) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[2])) - @disjunction(model, inner, y, DisjunctConstraint(z[1])) - @constraint(model, x <= 10, DisjunctConstraint(z[1])) - @constraint(model, x >= 10, DisjunctConstraint(z[2])) + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[2])) + @disjunction(model, inner, y, Disjunct(z[1])) + @constraint(model, x <= 10, Disjunct(z[1])) + @constraint(model, x >= 10, Disjunct(z[2])) @disjunction(model, outer, z) reformulate_model(model, BigM()) diff --git a/test/constraints/disjunct.jl b/test/constraints/disjunct.jl index 64f6377..91f79f6 100644 --- a/test/constraints/disjunct.jl +++ b/test/constraints/disjunct.jl @@ -2,20 +2,20 @@ function test_disjunct_add_fail() model = GDPModel() @variable(model, x) @variable(GDPModel(), y, Logical) - @test_macro_throws UndefVarError @constraint(model, x == 1, DisjunctConstraint(y)) # logical variable from another model + @test_macro_throws UndefVarError @constraint(model, x == 1, Disjunct(y)) # logical variable from another model @variable(model, w, Logical) @variable(model, z, Bin) - @test_macro_throws UndefVarError @constraint(model, z == 1, DisjunctConstraint(w)) # binary variable - @test_throws ErrorException build_constraint(error, 1z, MOI.EqualTo(1), DisjunctConstraint(w)) # binary variable + @test_macro_throws UndefVarError @constraint(model, z == 1, Disjunct(w)) # binary variable + @test_throws ErrorException build_constraint(error, 1z, MOI.EqualTo(1), Disjunct(w)) # binary variable end function test_disjunct_add_success() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - c1 = @constraint(model, x == 1, DisjunctConstraint(y)) - @constraint(model, c2, x == 1, DisjunctConstraint(y)) + c1 = @constraint(model, x == 1, Disjunct(y)) + @constraint(model, c2, x == 1, Disjunct(y)) @test owner_model(c1) == model @test is_valid(model, c1) @test index(c1) == DisjunctConstraintIndex(1) @@ -36,7 +36,7 @@ function test_disjunct_add_array() model = GDPModel() @variable(model, x) @variable(model, y[1:2, 1:3], Logical) - @constraint(model, con[i=1:2, j=1:3], x == 1, DisjunctConstraint(y[i,j])) + @constraint(model, con[i=1:2, j=1:3], x == 1, Disjunct(y[i,j])) @test con isa Matrix{DisjunctConstraintRef} @test length(con) == 6 end @@ -47,7 +47,7 @@ function test_disjunct_add_dense_axis() I = ["a", "b", "c"] J = [1, 2] @variable(model, y[I, J], Logical) - @constraint(model, con[i=I, j=J], x == 1, DisjunctConstraint(y[i,j])) + @constraint(model, con[i=I, j=J], x == 1, Disjunct(y[i,j])) @test con isa Containers.DenseAxisArray @test con.axes[1] == ["a","b","c"] @@ -59,7 +59,7 @@ function test_disjunct_add_sparse_axis() model = GDPModel() @variable(model, x) @variable(model, y[1:3, 1:3], Logical) - @constraint(model, con[i=1:3, j=1:3; j > i], x==i+j, DisjunctConstraint(y[i,j])) + @constraint(model, con[i=1:3, j=1:3; j > i], x==i+j, Disjunct(y[i,j])) @test con isa Containers.SparseAxisArray @test length(con) == 3 @@ -71,7 +71,7 @@ function test_disjunct_set_name() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - c1 = @constraint(model, x == 1, DisjunctConstraint(y)) + c1 = @constraint(model, x == 1, Disjunct(y)) set_name(c1, "new name") @test name(c1) == "new name" end @@ -80,7 +80,7 @@ function test_disjunct_delete() model = GDPModel() @variable(model, x) @variable(model, y, Logical) - @constraint(model, c1, x == 1, DisjunctConstraint(y)) + @constraint(model, c1, x == 1, Disjunct(y)) @test_throws AssertionError delete(GDPModel(), c1) delete(model, c1) diff --git a/test/constraints/disjunction.jl b/test/constraints/disjunction.jl index f0684d0..9804ba8 100644 --- a/test/constraints/disjunction.jl +++ b/test/constraints/disjunction.jl @@ -12,7 +12,7 @@ function test_disjunction_add_fail() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, x == 5, DisjunctConstraint(y[1])) + @constraint(model, x == 5, Disjunct(y[1])) @test_macro_throws ErrorException @disjunction(model) #not enough arguments @test_macro_throws UndefVarError @disjunction(model, y) #unassociated indicator @@ -28,7 +28,7 @@ function test_disjunction_add_fail() @test_macro_throws ErrorException @disjunction(model, begin y end) #@disjunctions (plural) @test_macro_throws UndefVarError @disjunction(model, x, y) #name x already exists - @constraint(model, x == 10, DisjunctConstraint(y[2])) + @constraint(model, x == 10, Disjunct(y[2])) @disjunction(model, disj, y) @test_macro_throws UndefVarError @disjunction(model, disj, y) #duplicate name @test_throws ErrorException DP._error_if_cannot_register(error, model, :disj) #duplicate name @@ -41,8 +41,8 @@ function test_disjunction_add_success() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, x == 5, DisjunctConstraint(y[1])) - @constraint(model, x == 10, DisjunctConstraint(y[2])) + @constraint(model, x == 5, Disjunct(y[1])) + @constraint(model, x == 10, Disjunct(y[2])) disj = @disjunction(model, y) @disjunction(model, disj2, y) @test owner_model(disj) == model @@ -63,11 +63,11 @@ function test_disjunction_add_nested() @variable(model, x) @variable(model, y[1:2], Logical) @variable(model, z[1:2], Logical) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[2])) - @disjunction(model, inner, y, DisjunctConstraint(z[1])) - @constraint(model, x <= 10, DisjunctConstraint(z[1])) - @constraint(model, x >= 10, DisjunctConstraint(z[2])) + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[2])) + @disjunction(model, inner, y, Disjunct(z[1])) + @constraint(model, x <= 10, Disjunct(z[1])) + @constraint(model, x >= 10, Disjunct(z[2])) @disjunction(model, outer, z) @test is_valid(model, inner) @@ -84,7 +84,7 @@ function test_disjunction_add_array() model=GDPModel() @variable(model, x) @variable(model, y[1:2, 1:3, 1:4], Logical) - @constraint(model, con[i=1:2, j=1:3, k=1:4], x==i+j+k, DisjunctConstraint(y[i,j,k])) + @constraint(model, con[i=1:2, j=1:3, k=1:4], x==i+j+k, Disjunct(y[i,j,k])) @disjunction(model, disj[i=1:2, j=1:3], y[i,j,:]) @test disj isa Matrix{DisjunctionRef} @@ -98,7 +98,7 @@ function test_disjunciton_add_dense_axis() I = ["a", "b", "c"] J = [1, 2] @variable(model, y[I, J, 1:4], Logical) - @constraint(model, con[i=I, j=J, k=1:4], x==k, DisjunctConstraint(y[i,j,k])) + @constraint(model, con[i=I, j=J, k=1:4], x==k, Disjunct(y[i,j,k])) @disjunction(model, disj[i=I, j=J], y[i,j,:]) @test disj isa Containers.DenseAxisArray @@ -111,7 +111,7 @@ function test_disjunction_add_sparse_axis() model = GDPModel() @variable(model, x) @variable(model, y[1:3, 1:3, 1:4], Logical) - @constraint(model, con[i=1:3, j=1:3, k=1:4; j > i], x==i+j+k, DisjunctConstraint(y[i,j,k])) + @constraint(model, con[i=1:3, j=1:3, k=1:4; j > i], x==i+j+k, Disjunct(y[i,j,k])) @disjunction(model, disj[i=1:3, j=1:3; j > i], y[i,j,:]) @test disj isa Containers.SparseAxisArray @@ -125,8 +125,8 @@ function test_disjunctions_add_fail() @variable(model, x) @variable(model, y[1:2], Logical) @variable(model, z[1:2], Logical) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[2])) + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[2])) @test_macro_throws ErrorException @disjunctions(model, y) end @@ -135,10 +135,10 @@ function test_disjunctions_add_success() @variable(model, x) @variable(model, y[1:2], Logical) @variable(model, z[1:2], Logical) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[2])) - @constraint(model, x <= 10, DisjunctConstraint(z[1])) - @constraint(model, x >= 10, DisjunctConstraint(z[2])) + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[2])) + @constraint(model, x <= 10, Disjunct(z[1])) + @constraint(model, x >= 10, Disjunct(z[2])) @disjunctions(model, begin disj1, y disj2, z @@ -161,8 +161,8 @@ function test_disjunction_set_name() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, x == 5, DisjunctConstraint(y[1])) - @constraint(model, x == 10, DisjunctConstraint(y[2])) + @constraint(model, x == 5, Disjunct(y[1])) + @constraint(model, x == 10, Disjunct(y[2])) @disjunction(model, disj, y) set_name(disj, "new_name") @test name(disj) == "new_name" @@ -172,8 +172,8 @@ function test_disjunction_delete() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, x == 5, DisjunctConstraint(y[1])) - @constraint(model, x == 10, DisjunctConstraint(y[2])) + @constraint(model, x == 5, Disjunct(y[1])) + @constraint(model, x == 10, Disjunct(y[2])) @disjunction(model, disj, y) @test_throws AssertionError delete(GDPModel(), disj) @@ -186,8 +186,8 @@ function test_disjunction_function() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, x == 5, DisjunctConstraint(y[1])) - @constraint(model, x == 10, DisjunctConstraint(y[2])) + @constraint(model, x == 5, Disjunct(y[1])) + @constraint(model, x == 10, Disjunct(y[2])) disj = disjunction(model, y, "name") @test is_valid(model, disj) @@ -202,11 +202,11 @@ function test_disjunction_function_nested() @variable(model, x) @variable(model, y[1:2], Logical) @variable(model, z[1:2], Logical) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[2])) - @constraint(model, x <= 10, DisjunctConstraint(z[1])) - @constraint(model, x >= 10, DisjunctConstraint(z[2])) - disj1 = disjunction(model, y, DisjunctConstraint(z[1]), "inner") + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[2])) + @constraint(model, x <= 10, Disjunct(z[1])) + @constraint(model, x >= 10, Disjunct(z[2])) + disj1 = disjunction(model, y, Disjunct(z[1]), "inner") disj2 = disjunction(model, z, "outer") @test is_valid(model, disj1) diff --git a/test/constraints/hull.jl b/test/constraints/hull.jl index 1e151ef..8eca869 100644 --- a/test/constraints/hull.jl +++ b/test/constraints/hull.jl @@ -325,7 +325,7 @@ function test_scalar_var_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, x in moiset(5), DisjunctConstraint(z)) + @constraint(model, con, x in moiset(5), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), Set([x])) @@ -342,7 +342,7 @@ function test_scalar_affine_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, 1x in moiset(5), DisjunctConstraint(z)) + @constraint(model, con, 1x in moiset(5), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), Set([x])) @@ -359,7 +359,7 @@ function test_vector_var_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, [x; x] in moiset(2), DisjunctConstraint(z)) + @constraint(model, con, [x; x] in moiset(2), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), Set([x])) @@ -375,7 +375,7 @@ function test_vector_affine_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, [x - 5; x - 5] in moiset(2), DisjunctConstraint(z)) + @constraint(model, con, [x - 5; x - 5] in moiset(2), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") method = DP._Hull(Hull(1e-3, Dict(x => (0., 100.))), Set([x])) @@ -391,7 +391,7 @@ function test_scalar_quadratic_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, x^2 in moiset(5), DisjunctConstraint(z)) + @constraint(model, con, x^2 in moiset(5), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -416,7 +416,7 @@ function test_vector_quadratic_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, [x^2 - 5; x^2 - 5] in moiset(2), DisjunctConstraint(z)) + @constraint(model, con, [x^2 - 5; x^2 - 5] in moiset(2), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -441,7 +441,7 @@ function test_scalar_nonlinear_hull_1sided_error() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, log(x) <= 10, DisjunctConstraint(z)) + @constraint(model, con, log(x) <= 10, Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -453,7 +453,7 @@ function test_scalar_nonlinear_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, x^3 in moiset(5), DisjunctConstraint(z)) + @constraint(model, con, x^3 in moiset(5), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -483,7 +483,7 @@ function test_vector_nonlinear_hull_1sided_error() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, [log(x),log(x)] <= [10,10], DisjunctConstraint(z)) + @constraint(model, con, [log(x),log(x)] <= [10,10], Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -495,7 +495,7 @@ function test_vector_nonlinear_hull_1sided(moiset) model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, [x^3 - 5; x^3 - 5] in moiset(2), DisjunctConstraint(z)) + @constraint(model, con, [x^3 - 5; x^3 - 5] in moiset(2), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -528,7 +528,7 @@ function test_scalar_var_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, x in MOI.Interval(5,5), DisjunctConstraint(z)) + @constraint(model, con, x in MOI.Interval(5,5), Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -548,7 +548,7 @@ function test_scalar_affine_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, 5 <= x <= 5, DisjunctConstraint(z)) + @constraint(model, con, 5 <= x <= 5, Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -568,7 +568,7 @@ function test_scalar_quadratic_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, 5 <= x^2 <= 5, DisjunctConstraint(z)) + @constraint(model, con, 5 <= x^2 <= 5, Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -595,7 +595,7 @@ function test_scalar_nonlinear_hull_2sided_error() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, 0 <= log(x) <= 10, DisjunctConstraint(z)) + @constraint(model, con, 0 <= log(x) <= 10, Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 @@ -607,7 +607,7 @@ function test_scalar_nonlinear_hull_2sided() model = GDPModel() @variable(model, 10 <= x <= 100) @variable(model, z, Logical) - @constraint(model, con, 5 <= x^3 <= 5, DisjunctConstraint(z)) + @constraint(model, con, 5 <= x^3 <= 5, Disjunct(z)) DP._reformulate_logical_variables(model) zbin = variable_by_name(model, "z") ϵ = 1e-3 diff --git a/test/constraints/indicator.jl b/test/constraints/indicator.jl index f6697c5..14a29c9 100644 --- a/test/constraints/indicator.jl +++ b/test/constraints/indicator.jl @@ -2,12 +2,12 @@ function test_indicator_scalar_constraints() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, x == 5, DisjunctConstraint(y[1])) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[1])) - @constraint(model, x == 10, DisjunctConstraint(y[2])) - @constraint(model, x <= 10, DisjunctConstraint(y[2])) - @constraint(model, x >= 10, DisjunctConstraint(y[2])) + @constraint(model, x == 5, Disjunct(y[1])) + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[1])) + @constraint(model, x == 10, Disjunct(y[2])) + @constraint(model, x <= 10, Disjunct(y[2])) + @constraint(model, x >= 10, Disjunct(y[2])) @disjunction(model, y) reformulate_model(model, Indicator()) @@ -24,9 +24,9 @@ function test_indicator_vector_constraints() A = [1 0; 0 1] @variable(model, x) @variable(model, y[1:3], Logical) - @constraint(model, A*[x,x] == [5,5], DisjunctConstraint(y[1])) - @constraint(model, A*[x,x] <= [0,0], DisjunctConstraint(y[2])) - @constraint(model, A*[x,x] >= [10,10], DisjunctConstraint(y[3])) + @constraint(model, A*[x,x] == [5,5], Disjunct(y[1])) + @constraint(model, A*[x,x] <= [0,0], Disjunct(y[2])) + @constraint(model, A*[x,x] >= [10,10], Disjunct(y[3])) @disjunction(model, y) reformulate_model(model, Indicator()) @@ -42,8 +42,8 @@ function test_indicator_array() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, [1:3, 1:2], x <= 6, DisjunctConstraint(y[1])) - @constraint(model, [1:3, 1:2], x >= 6, DisjunctConstraint(y[2])) + @constraint(model, [1:3, 1:2], x <= 6, Disjunct(y[1])) + @constraint(model, [1:3, 1:2], x >= 6, Disjunct(y[2])) @disjunction(model, y) reformulate_model(model, Indicator()) @@ -59,8 +59,8 @@ function test_indicator_dense_axis() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, [["a","b","c"],[1,2]], x <= 7, DisjunctConstraint(y[1])) - @constraint(model, [["a","b","c"],[1,2]], x >= 7, DisjunctConstraint(y[2])) + @constraint(model, [["a","b","c"],[1,2]], x <= 7, Disjunct(y[1])) + @constraint(model, [["a","b","c"],[1,2]], x >= 7, Disjunct(y[2])) @disjunction(model, y) reformulate_model(model, Indicator()) @@ -76,8 +76,8 @@ function test_indicator_sparse_axis() model = GDPModel() @variable(model, x) @variable(model, y[1:2], Logical) - @constraint(model, [i = 1:3, j = 1:3; j > i], x <= 7, DisjunctConstraint(y[1])) - @constraint(model, [i = 1:3, j = 1:3; j > i], x >= 7, DisjunctConstraint(y[2])) + @constraint(model, [i = 1:3, j = 1:3; j > i], x <= 7, Disjunct(y[1])) + @constraint(model, [i = 1:3, j = 1:3; j > i], x >= 7, Disjunct(y[2])) @disjunction(model, y) reformulate_model(model, Indicator()) @@ -94,11 +94,11 @@ function test_indicator_nested() @variable(model, x) @variable(model, y[1:2], Logical) @variable(model, z[1:2], Logical) - @constraint(model, x <= 5, DisjunctConstraint(y[1])) - @constraint(model, x >= 5, DisjunctConstraint(y[2])) - @disjunction(model, y, DisjunctConstraint(z[1])) - @constraint(model, x <= 10, DisjunctConstraint(z[1])) - @constraint(model, x >= 10, DisjunctConstraint(z[2])) + @constraint(model, x <= 5, Disjunct(y[1])) + @constraint(model, x >= 5, Disjunct(y[2])) + @disjunction(model, y, Disjunct(z[1])) + @constraint(model, x <= 10, Disjunct(z[1])) + @constraint(model, x >= 10, Disjunct(z[2])) @disjunction(model, z) reformulate_model(model, Indicator()) diff --git a/test/solve.jl b/test/solve.jl index 32a2c40..0cc2edb 100644 --- a/test/solve.jl +++ b/test/solve.jl @@ -7,11 +7,11 @@ function test_linear_gdp_example() @variable(m, Y[1:2], Logical) @variable(m, W[1:2], Logical) @objective(m, Max, sum(x)) - @constraint(m, y1[i=1:2], [1,4][i] ≤ x[i] ≤ [3,6][i], DisjunctConstraint(Y[1])) - @constraint(m, w1[i=1:2], [1,5][i] ≤ x[i] ≤ [2,6][i], DisjunctConstraint(W[1])) - @constraint(m, w2[i=1:2], [2,4][i] ≤ x[i] ≤ [3,5][i], DisjunctConstraint(W[2])) - @constraint(m, y2[i=1:2], [8,1][i] ≤ x[i] ≤ [9,2][i], DisjunctConstraint(Y[2])) - @disjunction(m, inner, [W[1], W[2]], DisjunctConstraint(Y[1])) + @constraint(m, y1[i=1:2], [1,4][i] ≤ x[i] ≤ [3,6][i], Disjunct(Y[1])) + @constraint(m, w1[i=1:2], [1,5][i] ≤ x[i] ≤ [2,6][i], Disjunct(W[1])) + @constraint(m, w2[i=1:2], [2,4][i] ≤ x[i] ≤ [3,5][i], Disjunct(W[2])) + @constraint(m, y2[i=1:2], [8,1][i] ≤ x[i] ≤ [9,2][i], Disjunct(Y[2])) + @disjunction(m, inner, [W[1], W[2]], Disjunct(Y[1])) @disjunction(m, outer, [Y[1], Y[2]]) @constraint(m, Y in Exactly(1)) @constraint(m, W in Exactly(Y[1])) diff --git a/test/variables/logical.jl b/test/variables/logical.jl index d187575..255c2ef 100644 --- a/test/variables/logical.jl +++ b/test/variables/logical.jl @@ -113,8 +113,8 @@ function test_lvar_delete() @variable(model, y, Logical) @variable(model, z, Logical) @variable(model, x) - @constraint(model, con, x <= 10, DisjunctConstraint(y)) - @constraint(model, con2, x >= 50, DisjunctConstraint(z)) + @constraint(model, con, x <= 10, Disjunct(y)) + @constraint(model, con2, x >= 50, Disjunct(z)) @disjunction(model, disj, [y, z]) @constraint(model, lcon, y ∨ z in IsTrue()) DP._reformulate_logical_variables(model) diff --git a/test/variables/query.jl b/test/variables/query.jl index d308a53..294ff74 100644 --- a/test/variables/query.jl +++ b/test/variables/query.jl @@ -122,8 +122,8 @@ function test_interrogate_disjunction() m = GDPModel() @variable(m, -5 ≤ x[1:2] ≤ 10) @variable(m, Y[1:2], Logical) - @constraint(m, [i = 1:2], 0 ≤ x[i] ≤ [3,4][i], DisjunctConstraint(Y[1])) - @constraint(m, [i = 1:2], [5,4][i] ≤ x[i] ≤ [9,6][i], DisjunctConstraint(Y[2])) + @constraint(m, [i = 1:2], 0 ≤ x[i] ≤ [3,4][i], Disjunct(Y[1])) + @constraint(m, [i = 1:2], [5,4][i] ≤ x[i] ≤ [9,6][i], Disjunct(Y[2])) @disjunction(m, Y) disj = DP._disjunctions(m)[DisjunctionIndex(1)].constraint vars = DP._get_disjunction_variables(m, disj) @@ -135,19 +135,19 @@ function test_interrogate_nested_disjunction() @variable(m, -5 <= x[1:3] <= 5) @variable(m, y[1:2], Logical) - @constraint(m, x[1] <= -2, DisjunctConstraint(y[1])) - @constraint(m, x[1] >= 2, DisjunctConstraint(y[2])) + @constraint(m, x[1] <= -2, Disjunct(y[1])) + @constraint(m, x[1] >= 2, Disjunct(y[2])) @disjunction(m, y) @variable(m, w[1:2], Logical) - @constraint(m, x[2] <= -3, DisjunctConstraint(w[1])) - @constraint(m, x[2] >= 3, DisjunctConstraint(w[2])) - @disjunction(m, w, DisjunctConstraint(y[1])) + @constraint(m, x[2] <= -3, Disjunct(w[1])) + @constraint(m, x[2] >= 3, Disjunct(w[2])) + @disjunction(m, w, Disjunct(y[1])) @variable(m, z[1:2], Logical) - @constraint(m, x[3] <= -4, DisjunctConstraint(z[1])) - @constraint(m, x[3] >= 4, DisjunctConstraint(z[2])) - @disjunction(m, z, DisjunctConstraint(w[1])) + @constraint(m, x[3] <= -4, Disjunct(z[1])) + @constraint(m, x[3] >= 4, Disjunct(z[2])) + @disjunction(m, z, Disjunct(w[1])) disj = DP._disjunctions(m)[DisjunctionIndex(1)].constraint vars = DP._get_disjunction_variables(m, disj) From 7fc045ba4fcdd8df0893075514c303627904e3fe Mon Sep 17 00:00:00 2001 From: Hector Perez Date: Wed, 18 Oct 2023 12:14:20 -0400 Subject: [PATCH 28/28] use @constraint --- src/hull.jl | 10 ++-------- src/logic.jl | 11 +++-------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/hull.jl b/src/hull.jl index c26e61d..7229b4e 100644 --- a/src/hull.jl +++ b/src/hull.jl @@ -36,14 +36,8 @@ function _disaggregate_variable(model::Model, lvref::LogicalVariableRef, vref::V dvname = name(dvref) lbname = isempty(dvname) ? "" : "$(dvname)_lower_bound" ubname = isempty(dvname) ? "" : "$(dvname)_upper_bound" - new_con_lb_ref = add_constraint(model, - build_constraint(error, lb*bvref - dvref, _MOI.LessThan(0)), - lbname - ) - new_con_ub_ref = add_constraint(model, - build_constraint(error, dvref - ub*bvref, _MOI.LessThan(0)), - ubname - ) + new_con_lb_ref = @constraint(model, lb*bvref - dvref <= 0, base_name = lbname) + new_con_ub_ref = @constraint(model, dvref - ub*bvref <= 0, base_name = ubname) push!(_reformulation_constraints(model), new_con_lb_ref, new_con_ub_ref) return dvref end diff --git a/src/logic.jl b/src/logic.jl index dca44c7..a902351 100644 --- a/src/logic.jl +++ b/src/logic.jl @@ -222,18 +222,14 @@ function _reformulate_selector(model::Model, func, set::Union{_MOIAtLeast, _MOIA dict = _indicator_to_binary(model) bvrefs = [dict[lvref] for lvref in func[2:end]] new_set = _vec_to_scalar_set(set)(func[1].constant) - cref = add_constraint(model, - build_constraint(error, @expression(model, sum(bvrefs)), new_set) - ) + cref = @constraint(model, sum(bvrefs) in new_set) push!(_reformulation_constraints(model), cref) end function _reformulate_selector(model::Model, func::Vector{LogicalVariableRef}, set::Union{_MOIAtLeast, _MOIAtMost, _MOIExactly}) dict = _indicator_to_binary(model) bvref, bvrefs... = [dict[lvref] for lvref in func] new_set = _vec_to_scalar_set(set)(0) - cref = add_constraint(model, - build_constraint(error, @expression(model, sum(bvrefs) - bvref), new_set) - ) + cref = @constraint(model, sum(bvrefs) - bvref in new_set) push!(_reformulation_constraints(model), cref) end @@ -261,8 +257,7 @@ _isa_literal(v) = false function _add_reformulated_proposition(model::Model, arg::Union{LogicalVariableRef,_LogicalExpr}) func = _reformulate_clause(model, arg) if !isempty(func.terms) && !all(iszero.(values(func.terms))) - con = build_constraint(error, func, _MOI.GreaterThan(1)) - cref = add_constraint(model, con) + cref = @constraint(model, func >= 1) push!(_reformulation_constraints(model), cref) end return