vtjeng / MIPVerify.jl

Evaluating Robustness of Neural Networks with Mixed Integer Programming
MIT License
113 stars 31 forks source link

Setting a time limit for solves via `main_solve_options` #127

Closed Herler66 closed 1 year ago

Herler66 commented 2 years ago

I want to set a timelimit ,but i cant find the related parameter name of ‘main_solve_options’

vtjeng commented 2 years ago

Hi there - I'm not sure what you're referring to here. Does this section from the documentation https://vtjeng.com/MIPVerify.jl/stable/finding_adversarial_examples/single_image/#MIPVerify.find_adversarial_example-Tuple{NeuralNet,%20Array{%3C:Real},%20Union{Integer,%20Vector{%3C:Integer}},%20Any,%20Dict} help?

On Thu, Sep 22, 2022, 7:08 PM Herler66 @.***> wrote:

— Reply to this email directly, view it on GitHub https://github.com/vtjeng/MIPVerify.jl/issues/127, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNIOEJNE7OPSSH4STZAHKDV7UGJZANCNFSM6AAAAAAQTSRX7U . You are receiving this because you are subscribed to this thread.Message ID: @.***>

vtjeng commented 1 year ago

@Herler66, I see that you specifically want to set a time limit. You're right that that's available via the solver options main_solve_options and tightening_options. What you pass here is solver specific. For example, for Gurobi.jl, the parameter you want to pass to main_solve_options is TimeLimit, and for Cbc.jl, it's seconds. See for example https://github.com/jump-dev/Gurobi.jl#use-with-jump for Gurobi documentation.

For a worked example, check out "Terminate if time limit is reached" at https://github.com/vtjeng/MIPVerify.jl/blob/master/examples/02_finding_adversarial_examples_in_depth.ipynb