
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.IntegerMOI.VariableIndex в MOI.Interval{Float64}MOI.VariableIndex в MOI.LessThan{Float64}MOI.VariableIndex в MOI.ZeroOneMOI.VectorOfVariables в MOI.SOS1{Float64}MOI.VectorOfVariables в MOI.SOS2{Float64}Список поддерживаемых атрибутов модели:
Cbc.StatusCbc.SecondaryStatusMOI.DualStatusMOI.NodeCountMOI.NumberOfVariablesMOI.ObjectiveBoundMOI.ObjectiveSenseMOI.ObjectiveValueMOI.PrimalStatusMOI.RelativeGapMOI.ResultCountMOI.SolveTimeSecMOI.TerminationStatusСписок поддерживаемых атрибутов оптимизатора:
Cbc.SetVariableNamesMOI.AbsoluteGapToleranceMOI.NumberOfThreadsMOI.RawOptimizerAttributeMOI.RelativeGapToleranceMOI.SilentMOI.SolverNameMOI.SolverVersionMOI.TimeLimitSecСписок поддерживаемых атрибутов переменной:
MOI.VariablePrimalMOI.VariablePrimalStartMOI.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