CBC.JL-это обертка для решателя монеты или выреза (CBC).
У обертки есть два компонента:
Эта обертка поддерживается сообществом Jump и не является проектом монет или.
Если вам нужна помощь, пожалуйста, задайте вопрос на форуме сообщества Jump.
Если у вас есть воспроизводимый пример ошибки, пожалуйста, откройте проблему GitHub.
Cbc.jl
имеет лицензию по лицензии MIT.
Основной решатель, Coin-OR/CBC, лицензирован по публичной лицензии Eclipse.
Установите CBC с помощью Pkg.add
:
import Pkg
Pkg . add ( " Cbc " )
В дополнение к установке пакета CBC.JL, это также загрузит и установит двоичные файлы CBC. Вам не нужно устанавливать CBC отдельно.
Чтобы использовать пользовательский двоичный файл, прочитайте раздел «Согласованные бинарные бинарные соревнования».
Чтобы использовать CBC с прыжком, используйте Cbc.Optimizer
:
using JuMP, Cbc
model = Model (Cbc . Optimizer)
set_attribute (model, " logLevel " , 1 )
Оптимизатор монеты (CBC) поддерживает следующие ограничения и атрибуты.
Список поддерживаемых целевых функций:
MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}
Список поддерживаемых типов переменных:
MOI.Reals
Список поддерживаемых типов ограничений:
MOI.ScalarAffineFunction{Float64}
в MOI.EqualTo{Float64}
MOI.ScalarAffineFunction{Float64}
в MOI.GreaterThan{Float64}
MOI.ScalarAffineFunction{Float64}
в MOI.Interval{Float64}
MOI.ScalarAffineFunction{Float64}
в MOI.LessThan{Float64}
MOI.VariableIndex
в MOI.EqualTo{Float64}
MOI.VariableIndex
в MOI.GreaterThan{Float64}
MOI.VariableIndex
в MOI.Integer
MOI.VariableIndex
в MOI.Interval{Float64}
MOI.VariableIndex
в MOI.LessThan{Float64}
MOI.VariableIndex
в MOI.ZeroOne
MOI.VectorOfVariables
в MOI.SOS1{Float64}
MOI.VectorOfVariables
в MOI.SOS2{Float64}
Список поддерживаемых атрибутов модели:
Cbc.Status
Cbc.SecondaryStatus
MOI.DualStatus
MOI.NodeCount
MOI.NumberOfVariables
MOI.ObjectiveBound
MOI.ObjectiveSense
MOI.ObjectiveValue
MOI.PrimalStatus
MOI.RelativeGap
MOI.ResultCount
MOI.SolveTimeSec
MOI.TerminationStatus
Список поддерживаемых атрибутов оптимизатора:
Cbc.SetVariableNames
MOI.AbsoluteGapTolerance
MOI.NumberOfThreads
MOI.RawOptimizerAttribute
MOI.RelativeGapTolerance
MOI.Silent
MOI.SolverName
MOI.SolverVersion
MOI.TimeLimitSec
Список поддерживаемых атрибутов переменной:
MOI.VariablePrimal
MOI.VariablePrimalStart
MOI.VariableName
Список поддерживаемых атрибутов ограничения:
MOI.ConstraintPrimal
Варианты, к сожалению, не хорошо задокументированы.
Следующие варианты, вероятно, будут наиболее полезными:
Параметр | Пример | Объяснение |
---|---|---|
seconds | 60.0 | Ограничение тайм -аута решения |
logLevel | 2 | Установить на 0, чтобы отключить выход решения |
maxSolutions | 1 | Прекратить после того, как было найдено столько возможных решений |
maxNodes | 1 | Прекрасно заканчивается после того, как было оценено столько желудочных узлов |
allowableGap | 0.05 | Завершение после оптимальности пробел меньше, чем это значение (в абсолютном масштабе) |
ratioGap | 0.05 | Завершение после оптимальности промежуток меньше, чем эта относительная фракция |
threads | 1 | Установите количество потоков для использования для параллельной ветви и связанных |
Полный список параметров можно найти, запустив исполняемый файл cbc
и набрать ?
в приглашении.
Начните исполняемый файл cbc
из Юлии следующим образом:
using Cbc_jll
Cbc_jll . cbc () do exe
run ( ` $(exe) ` )
end