Skip to content

Commit 8482c9f

Browse files
authored
Unique names with no underscore (replace #161) (#184)
1 parent f63d8ae commit 8482c9f

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

src/dual_model_variables.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ function _add_dual_variable(
8080
# Add each vi to the dictionary
8181
func = MOI.get(primal_model, MOI.ConstraintFunction(), ci)
8282
set = MOI.get(primal_model, MOI.ConstraintSet(), ci)
83+
is_unique_var = length(vis) == 1
8384
for (i, vi) in enumerate(vis)
8485
if !(F <: MOI.VectorOfVariables)
8586
value = set_dot(i, set, T) * _get_normalized_constant(func, set, i)
@@ -89,7 +90,8 @@ function _add_dual_variable(
8990
end
9091
if !is_empty(dual_names) && !isempty(ci_name)
9192
pre = dual_names.dual_variable_name_prefix
92-
MOI.set(dual_model, MOI.VariableName(), vi, pre * ci_name * "_$i")
93+
pos = is_unique_var ? "" : "_$i"
94+
MOI.set(dual_model, MOI.VariableName(), vi, pre * ci_name * pos)
9395
end
9496
end
9597
return

test/Tests/test_JuMP_dualize.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ end
6464

6565
dual_model = dualize(model; dual_names = DualNames("dual", ""))
6666

67-
@test typeof(dual_model[:dualeqcon_1]) == VariableRef
67+
@test typeof(dual_model[:dualeqcon]) == VariableRef
6868
@test !haskey(dual_model, Symbol(""))
6969
end
7070
@testset "JuMP_dualize_kwargs" begin

test/Tests/test_dual_names.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
}(
7878
1,
7979
)].dual_variables[1]
80-
@test MOI.get(dual_model, MOI.VariableName(), vi_2) == "dualvar_lessthan_1"
80+
@test MOI.get(dual_model, MOI.VariableName(), vi_2) == "dualvar_lessthan"
8181
# Query constraint names
8282
ci_1 =
8383
primal_dual_map.primal_variable_data[MOI.VariableIndex(

0 commit comments

Comments
 (0)