Cbc.jl ist ein Wrapper für den Münz- oder Cut-Löser (Cut (Cut).
Der Wrapper hat zwei Komponenten:
Diese Wrapper wird von der Jump-Community gepflegt und ist kein Münz-oder-Projekt.
Wenn Sie Hilfe benötigen, stellen Sie bitte eine Frage im Jump Community -Forum.
Wenn Sie ein reproduzierbares Beispiel für einen Fehler haben, öffnen Sie bitte ein GitHub -Problem.
Cbc.jl
ist unter der MIT -Lizenz lizenziert.
Der zugrunde liegende Löser Coin-or/CBC ist im Rahmen der Eclipse Public Lizenz lizenziert.
Installieren Sie CBC mit Pkg.add
:
import Pkg
Pkg . add ( " Cbc " )
Zusätzlich zur Installation des CBC.JL -Pakets wird auch die CBC -Binärdateien heruntergeladen und installiert. Sie müssen CBC nicht separat installieren.
Um eine benutzerdefinierte Binärdatei zu verwenden, lesen Sie den Abschnitt Custom Solver Binaries in der Sprungdokumentation.
Verwenden Sie Cbc.Optimizer
, um CBC mit Sprung zu verwenden:
using JuMP, Cbc
model = Model (Cbc . Optimizer)
set_attribute (model, " logLevel " , 1 )
Der Münz-Zweig-und-Schnitt-Optimierer (CBC) unterstützt die folgenden Einschränkungen und Attribute.
Liste der unterstützten objektiven Funktionen:
MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}
Liste der unterstützten Variablentypen:
MOI.Reals
Liste der unterstützten Einschränkungen:
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
in MOI.Integer
MOI.VariableIndex
in MOI.Interval{Float64}
MOI.VariableIndex
in MOI.LessThan{Float64}
MOI.VariableIndex
in MOI.ZeroOne
MOI.VectorOfVariables
in MOI.SOS1{Float64}
MOI.VectorOfVariables
in MOI.SOS2{Float64}
Liste der unterstützten Modellattribute:
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
Liste der unterstützten Optimiererattribute:
Cbc.SetVariableNames
MOI.AbsoluteGapTolerance
MOI.NumberOfThreads
MOI.RawOptimizerAttribute
MOI.RelativeGapTolerance
MOI.Silent
MOI.SolverName
MOI.SolverVersion
MOI.TimeLimitSec
Liste der unterstützten variablen Attribute:
MOI.VariablePrimal
MOI.VariablePrimalStart
MOI.VariableName
Liste der unterstützten Einschränkungsattribute:
MOI.ConstraintPrimal
Optionen sind leider nicht gut dokumentiert.
Die folgenden Optionen sind wahrscheinlich die nützlichsten:
Parameter | Beispiel | Erläuterung |
---|---|---|
seconds | 60.0 | Lösungs -Zeitüberschreitungsgrenze |
logLevel | 2 | Einstellen auf 0, um die Lösungsausgabe zu deaktivieren |
maxSolutions | 1 | Enden, nachdem so viele realisierbare Lösungen gefunden wurden |
maxNodes | 1 | Beenden Sie nach so vielen Zweig und gebundenen Knoten bewertet |
allowableGap | 0.05 | Beenden nach der Optimalitätslücke ist geringer als dieser Wert (auf einer absoluten Skala) |
ratioGap | 0.05 | Beenden nach der Optimalitätslücke ist kleiner als dieser relative Bruchteil |
threads | 1 | Stellen Sie die Anzahl der Threads ein, die für parallele Zweigstellen und gebunden sind |
Die vollständige Liste der Parameter finden Sie durch Ausführen der ausführbaren cbc
-Datei und -Typisierung ?
an der Eingabeaufforderung.
Starten Sie die ausführbare cbc
-Datei von Julia wie folgt:
using Cbc_jll
Cbc_jll . cbc () do exe
run ( ` $(exe) ` )
end