Cbc.jl
v1.2.0
CBC.JL是硬幣或分支(CBC)求解器的包裝紙。
包裝器有兩個組件:
該包裝紙由跳躍社區維護,不是一個硬幣或項目。
如果您需要幫助,請在跳躍社區論壇上詢問一個問題。
如果您有一個錯誤的可再現示例,請打開一個GitHub問題。
Cbc.jl
已獲得MIT許可證的許可。
基礎求解器Coin-OR/CBC已獲得Eclipse公共許可證的許可。
使用Pkg.add
安裝CBC:
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}
in MOI.EqualTo{Float64}
MOI.ScalarAffineFunction{Float64}
in MOI.GreaterThan{Float64}
MOI.ScalarAffineFunction{Float64}
in MOI.Interval{Float64}
MOI.ScalarAffineFunction{Float64}
in MOI.LessThan{Float64}
MOI.VariableIndex
in MOI.EqualTo{Float64}
MOI.VariableIndex
in MOI.GreaterThan{Float64}
MOI.VariableIndex
在MOI.Integer
中MOI.VariableIndex
in 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