Skip to content

Improve calculation speed to obtain IIS #20

@datejada

Description

@datejada

First, it is great to have compute_conflict! available in solvers like HiGHS. It's amazing! Thanks, @odow and @joaquimg

It may be too much to ask, but just in case. Is it possible to make it faster?

Here are three sizes of infeasible models: small, medium, and large.

Good news: For the small case, the IIS results are fast using Gurobi or HiGHS, and the output is the same.

Room for improvement: Gurobi's compute_conflict! is a couple of seconds, while HiGHS's compute_conflict! (which uses this package) I ran for more than 30 minutes for the medium and large cases and stopped both before finishing, so I don't have the total time, but I will update it once I have the full results.

Here is the code I used:

using JuMP
using HiGHS
using Gurobi

# Create a JuMP model from files
model = read_from_file("small-size-infeasible-problem.lp")
#model = read_from_file("medium-size-infeasible-problem.mps")
#model = read_from_file("large-size-infeasible-problem.mps")

set_optimizer(model, HiGHS.Optimizer)
#set_optimizer(model, Gurobi.Optimizer)
optimize!(model)
compute_conflict!(model)
if get_attribute(model, MOI.ConflictStatus()) == MOI.CONFLICT_FOUND
    iis_model, reference_map = copy_conflict(model)
    print(iis_model)
end

These are the package versions:
[2e9cd046] Gurobi v1.7.5
[87dc4568] HiGHS v1.19.0
[4076af6c] JuMP v1.27.0

Julia version: 1.11.6

Here are the links to download the files:

small-size-infeasible-problem.zip

medium-size-infeasible-problem.zip

https://filesender.surf.nl/?s=download&token=7f00f6a4-a58b-4b18-87cb-2372909d1ef5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions