You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MIPLearn.jl/test/instance/file_instance_test.jl

36 lines
1.1 KiB

# MIPLearn: Extensible Framework for Learning-Enhanced Mixed-Integer Optimization
# Copyright (C) 2020-2021, UChicago Argonne, LLC. All rights reserved.
# Released under the modified BSD license. See COPYING.md for more details.
using JuMP
using MIPLearn
using Cbc
@testset "FileInstance" begin
@testset "Solve" begin
data = KnapsackData()
filename = tempname()
MIPLearn.save_data(filename, data)
instance = FileInstance(filename, build_knapsack_model)
solver = LearningSolver(Cbc.Optimizer)
solve!(solver, instance)
h5 = Hdf5Sample("$filename.h5")
@test h5.get_scalar("mip_wallclock_time") > 0
end
@testset "Save and load data" begin
filename = tempname()
data = KnapsackData(
weights = [5.0, 5.0, 5.0],
prices = [1.0, 1.0, 1.0],
capacity = 3.0,
)
MIPLearn.save_data(filename, data)
loaded = MIPLearn.load_data(filename)
@test loaded.weights == [5.0, 5.0, 5.0]
@test loaded.prices == [1.0, 1.0, 1.0]
@test loaded.capacity == 3.0
end
end