CBC.JL เป็น wrapper สำหรับเครื่องแก้และตัด (CBC) Solver
เสื้อคลุมมีสององค์ประกอบ:
เสื้อคลุมนี้ได้รับการดูแลโดยชุมชนกระโดดและไม่ใช่โครงการเหรียญหรือ
หากคุณต้องการความช่วยเหลือโปรดถามคำถามเกี่ยวกับฟอรัมชุมชน Jump
หากคุณมีตัวอย่างของข้อผิดพลาดที่ทำซ้ำได้โปรดเปิดปัญหา GitHub
Cbc.jl
ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT
ผู้แก้ปัญหาพื้นฐาน Coin-OR/CBC ได้รับใบอนุญาตภายใต้ใบอนุญาตสาธารณะ Eclipse
ติดตั้ง CBC โดยใช้ Pkg.add
:
import Pkg
Pkg . add ( " Cbc " )
นอกเหนือจากการติดตั้งแพ็คเกจ CBC.JL แล้วสิ่งนี้จะดาวน์โหลดและติดตั้ง CBC Binaries คุณไม่จำเป็นต้องติดตั้ง CBC แยกกัน
หากต้องการใช้ไบนารีที่กำหนดเองให้อ่านส่วน Solver Binaries ที่กำหนดเองของเอกสาร JUMP
หากต้องการใช้ 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.Integer
MOI.VariableIndex
ใน 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
Executable และ Typing ?
ที่พรอมต์
เริ่มต้นปฏิบัติการ cbc
จาก Julia ดังนี้:
using Cbc_jll
Cbc_jll . cbc () do exe
run ( ` $(exe) ` )
end