Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Completely re-write the Gurobi MOI wrapper. #216

Merged
merged 44 commits into from
Aug 13, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
8a9722b
Completely re-write the Gurobi MOI wrapper.
odow Jun 10, 2019
d2bfa20
Fixes to get tests passing
odow Jun 10, 2019
b3ea696
Re-add commented tests
odow Jun 10, 2019
d94f14a
Add comments and use dispatch for supports_constraint
odow Jun 10, 2019
66ded3c
Implement RawParameter
odow Jun 10, 2019
b380921
Fix briding bug
odow Jun 10, 2019
4482903
Use full_bridge_optimizer
odow Jun 10, 2019
18bbcb8
Simplify constraint names
odow Jun 11, 2019
7395220
Add CleverDict
odow Jun 11, 2019
4da19e9
Remove comments
odow Jun 11, 2019
a982686
Fix typo
odow Jun 11, 2019
2e74eae
Remove MOI from CleverDict.jl
odow Jun 11, 2019
328186c
Merge .columns into variable_info and provide a er
odow Jun 12, 2019
6d466ee
Remove unneeded fields and re-orde is_empty
odow Jun 12, 2019
3e1609b
Add benchmarking script
odow Jun 12, 2019
55da7f0
mlubin's changes
odow Jun 12, 2019
5be8b10
Remove offset from CleverDict
odow Jun 13, 2019
da68b1d
Add add_constraints
odow Jun 13, 2019
a314d80
Add more benchmarks
odow Jun 13, 2019
2be066d
Improve performance of add_constraints
odow Jun 13, 2019
e5c2dbc
Use OrderedDict in CleverDict
odow Jun 13, 2019
c79c92d
Tidy some comments
odow Jun 13, 2019
f841775
Get tests passing again
odow Jun 13, 2019
493e8fd
Add plural version of add SingleVariable-in-Set
odow Jun 13, 2019
f845799
Add ConstraintBasisStatus
odow Jun 13, 2019
58e3583
Refine CleverDict and add tests
odow Jun 14, 2019
9e8474b
Use MOI.throw_if_not_valid
odow Jun 14, 2019
738f475
Change initialization of VariableInfo
odow Jun 15, 2019
a7991d6
Remove CleverDicts in favour of MOI.Utilities.CleverDicts
odow Jun 15, 2019
19676af
Fix ObjectiveFunctionType
odow Jun 15, 2019
6863724
Fix typo
odow Jun 17, 2019
8676f49
Remove benchmarking in favour of MOI.Benchmarks
odow Jun 17, 2019
32831bc
Add test for VariablePrimalStart
odow Jun 17, 2019
c523cfb
Enable QCPDual by default
odow Jun 20, 2019
e6c869d
Update merge with IIS conflits
odow Jul 11, 2019
b6431c4
Fix bug in add_constraints
odow Jul 11, 2019
8158648
Remove unneeded updates
odow Jul 11, 2019
2061916
MOI.ModelLike -> MOI.AbstractOptimizer
odow Jul 11, 2019
bf90918
Remove print from tests
odow Jul 11, 2019
74f7526
Update MOI_wrapper.jl
odow Aug 8, 2019
3b577d4
Add TimeLimitSec
odow Aug 13, 2019
f55a419
Fix handling of duplicate constraint names
odow Aug 13, 2019
e2f9b15
Fix updating of names and add extra tests
odow Aug 13, 2019
d42ff2e
Change version back to 0.7.0
odow Aug 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
Manifest.toml
perf/*/*.json
perf/*/*.toml
perf/Project.toml
5 changes: 3 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ version = "0.7.0"

[deps]
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
LinQuadOptInterface = "f8899e07-120b-5979-ab1d-7b97bb9e1a48"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
MathProgBase = "fdba3010-5040-5b88-9595-932c9decdf73"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

odow marked this conversation as resolved.
Show resolved Hide resolved
[compat]
LinQuadOptInterface = "~0.6.0"
MathOptInterface = "~0.9.0"
MathProgBase = "~0.5.0, ~0.6, ~0.7"
julia = "1"

Expand Down
44 changes: 44 additions & 0 deletions perf/perf.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using Gurobi

function print_help()
println("""
Usage
perf.jl [arg] [name]

[arg]
--new Begin a new benchmark comparison
--compare Run another benchmark and compare to existing

[name] A name for the benchmark test

Examples
git checkout master
julia perf.jl --new master
git checkout approach_1
julia perf.jl --new approach_1
git checkout approach_2
julia perf.jl --compare master
julia perf.jl --compare approach_1
""")
end

if length(ARGS) != 2
print_help()
else
const Benchmarks = Gurobi.MOI.Benchmarks
const GUROBI_ENV = Gurobi.Env()
const suite = Benchmarks.suite() do
Gurobi.Optimizer(GUROBI_ENV, OutputFlag = 0)
end
if ARGS[1] == "--new"
Benchmarks.create_baseline(
suite, ARGS[2]; directory = @__DIR__, verbose = true
)
elseif ARGS[1] == "--compare"
Benchmarks.compare_against_baseline(
suite, ARGS[2]; directory = @__DIR__, verbose = true
)
else
print_help()
end
end
Loading