|
4 | 4 | # Use of this source code is governed by an MIT-style license that can be found
|
5 | 5 | # in the LICENSE.md file or at https://opensource.org/licenses/MIT.
|
6 | 6 |
|
7 |
| -const _OPCODE_MAP = Dict( |
8 |
| - :+ => GRB_OPCODE_PLUS, |
9 |
| - :- => GRB_OPCODE_MINUS, |
10 |
| - :* => GRB_OPCODE_MULTIPLY, |
11 |
| - :/ => GRB_OPCODE_DIVIDE, |
12 |
| - # GRB_OPCODE_UMINUS 6 |
13 |
| - # GRB_OPCODE_SQUARE 7 |
14 |
| - :sqrt => GRB_OPCODE_SQRT, |
15 |
| - :sin => GRB_OPCODE_SIN, |
16 |
| - :cos => GRB_OPCODE_COS, |
17 |
| - :tan => GRB_OPCODE_TAN, |
18 |
| - :^ => GRB_OPCODE_POW, |
19 |
| - :exp => GRB_OPCODE_EXP, |
20 |
| - :log => GRB_OPCODE_LOG, |
21 |
| - :log2 => GRB_OPCODE_LOG2, |
22 |
| - :log10 => GRB_OPCODE_LOG10, |
23 |
| - :logistic => GRB_OPCODE_LOGISTIC, |
24 |
| -) |
25 |
| - |
26 | 7 | _supports_nonlinear() = _GUROBI_VERSION >= v"12.0.0"
|
27 | 8 |
|
| 9 | +if _supports_nonlinear() |
| 10 | + const _OPCODE_MAP = Dict( |
| 11 | + :+ => GRB_OPCODE_PLUS, |
| 12 | + :- => GRB_OPCODE_MINUS, |
| 13 | + :* => GRB_OPCODE_MULTIPLY, |
| 14 | + :/ => GRB_OPCODE_DIVIDE, |
| 15 | + # GRB_OPCODE_UMINUS 6 |
| 16 | + # GRB_OPCODE_SQUARE 7 |
| 17 | + :sqrt => GRB_OPCODE_SQRT, |
| 18 | + :sin => GRB_OPCODE_SIN, |
| 19 | + :cos => GRB_OPCODE_COS, |
| 20 | + :tan => GRB_OPCODE_TAN, |
| 21 | + :^ => GRB_OPCODE_POW, |
| 22 | + :exp => GRB_OPCODE_EXP, |
| 23 | + :log => GRB_OPCODE_LOG, |
| 24 | + :log2 => GRB_OPCODE_LOG2, |
| 25 | + :log10 => GRB_OPCODE_LOG10, |
| 26 | + :logistic => GRB_OPCODE_LOGISTIC, |
| 27 | + ) |
| 28 | +else |
| 29 | + const _OPCODE_MAP = Dict() |
| 30 | +end |
| 31 | + |
28 | 32 | function MOI.supports_constraint(
|
29 | 33 | ::Optimizer,
|
30 | 34 | ::Type{MOI.ScalarNonlinearFunction},
|
|
0 commit comments