
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.RealsListe 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.IntegerMOI.VariableIndex in MOI.Interval{Float64}MOI.VariableIndex in MOI.LessThan{Float64}MOI.VariableIndex in MOI.ZeroOneMOI.VectorOfVariables in MOI.SOS1{Float64}MOI.VectorOfVariables in MOI.SOS2{Float64}Liste der unterstützten Modellattribute:
Cbc.StatusCbc.SecondaryStatusMOI.DualStatusMOI.NodeCountMOI.NumberOfVariablesMOI.ObjectiveBoundMOI.ObjectiveSenseMOI.ObjectiveValueMOI.PrimalStatusMOI.RelativeGapMOI.ResultCountMOI.SolveTimeSecMOI.TerminationStatusListe der unterstützten Optimiererattribute:
Cbc.SetVariableNamesMOI.AbsoluteGapToleranceMOI.NumberOfThreadsMOI.RawOptimizerAttributeMOI.RelativeGapToleranceMOI.SilentMOI.SolverNameMOI.SolverVersionMOI.TimeLimitSecListe der unterstützten variablen Attribute:
MOI.VariablePrimalMOI.VariablePrimalStartMOI.VariableNameListe der unterstützten Einschränkungsattribute:
MOI.ConstraintPrimalOptionen 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