Skip to content

Commit 94eb4e6

Browse files
authored
[Bridges] improvements to bridge docstrings (#1863)
1 parent 0bc67af commit 94eb4e6

File tree

2 files changed

+42
-8
lines changed

2 files changed

+42
-8
lines changed

src/Bridges/Objective/bridges/functionize.jl

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,24 @@
77
"""
88
FunctionizeBridge{T}
99
10-
The `FunctionizeBridge` converts a `VariableIndex` objective into a
11-
`ScalarAffineFunction{T}` objective.
10+
`FunctionizeBridge` implements the following reformulations:
11+
12+
* ``\\min \\{x\\}`` into ``\\min\\{1x + 0\\}``
13+
* ``\\max \\{x\\}`` into ``\\max\\{1x + 0\\}``
14+
15+
where `T` is the coefficient type of `1` and `0`.
16+
17+
## Source node
18+
19+
`FunctionizeBridge` supports:
20+
21+
* [`MOI.ObjectiveFunction{MOI.VariableIndex}`](@ref)
22+
23+
## Target nodes
24+
25+
`FunctionizeBridge` creates:
26+
27+
* One objective node: [`MOI.ObjectiveFunction{MOI.ScalarAffineFunction{T}}`](@ref)
1228
"""
1329
struct FunctionizeBridge{T} <: AbstractBridge end
1430

src/Bridges/Objective/bridges/slack.jl

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,31 @@
77
"""
88
SlackBridge{T,F,G}
99
10-
The `SlackBridge` converts an objective function of type `G` into a
11-
[`MOI.VariableIndex`](@ref) objective by creating a slack variable and a
12-
`F`-in-[`MOI.LessThan`](@ref) constraint for minimization or
13-
`F`-in-[`MOI.GreaterThan`](@ref) constraint for maximization where `F` is
14-
`MOI.Utilities.promote_operation(-, T, G, MOI.VariableIndex}`.
10+
`SlackBridge` implements the following reformulations:
1511
16-
!!! note
12+
* ``\\min\\{f(x)\\}`` into ``\\min\\{y\\;|\\; f(x) - y \\le 0\\}``
13+
* ``\\max\\{f(x)\\}`` into ``\\max\\{y\\;|\\; f(x) - y \\ge 0\\}``
14+
15+
where `F` is the type of `f(x) - y`, `G` is the type of `f(x)`, and `T` is the
16+
coefficient type of `f(x)`.
17+
18+
## Source node
19+
20+
`SlackBridge` supports:
21+
22+
* [`MOI.ObjectiveFunction{G}`](@ref)
23+
24+
## Target nodes
25+
26+
`SlackBridge` creates:
27+
28+
* One variable node: [`MOI.VariableIndex`](@ref) in [`MOI.Reals`](@ref)
29+
* One objective node: [`MOI.ObjectiveFunction{MOI.VariableIndex}`](@ref)
30+
* One constraint node, that depends on the [`MOI.ObjectiveSense`](@ref):
31+
* `F`-in-[`MOI.LessThan`](@ref) if `MIN_SENSE`
32+
* `F`-in-[`MOI.GreaterThan`](@ref) if `MAX_SENSE`
33+
34+
!!! warning
1735
When using this bridge, changing the optimization sense is not supported.
1836
Set the sense to `MOI.FEASIBILITY_SENSE` first to delete the bridge, then
1937
set [`MOI.ObjectiveSense`](@ref) and re-add the objective.

0 commit comments

Comments
 (0)