-
Notifications
You must be signed in to change notification settings - Fork 0
/
as_run_test_gen.jl
48 lines (41 loc) · 1.25 KB
/
as_run_test_gen.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using JuMP
#using Cbc
using Gurobi
using SparseArrays
T = 150
include("as_dat_large_test_gen.jl")
include("as_mod_test_gen.jl")
m, x, z = build_model()
set_optimizer(m, Gurobi.Optimizer)
# set_optimizer_attributes(m, "MIPGap" => 2e-2, "TimeLimit" => 3600)
"""
Some useful parameters for the Gurobi solver:
SolutionLimit = k : the search is terminated after k feasible solutions has been found
MIPGap = r : the search is terminated when | best node - best intgeger | < r * | best node |
MIPGapAbs = r : the search is terminated when | best node - best integer | < r
TimeLimit = t : limits the total time expended to t seconds
DisplayInterval = t : log lines are printed every t seconds
See http://www.gurobi.com/documentation/8.1/refman/parameters.html for a
complete list of valid parameters
"""
#unset_binary.(x)
#unset_binary.(z)
optimize!(m)
"""
Some useful output & functions
"""
# obj_ip = objective_value(m)
# unset_binary.(x)
# unset_binary.(z)
# optimize!(m)
# obj_lp = objective_value(m)
# println("obj_ip = $obj_ip, obj_lp = $obj_lp, gap = $(obj_ip-obj_lp) ")
# println(solve_time(m))
x_val = sparse(value.(x.data))
z_val = sparse(value.(z))
println("")
println("x = ")
println(x_val)
println("z = ")
println(z_val)
#add_cut_to_small(m)