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.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