Changing tolerence

Solver related questions
Post Reply
Ebru
User
User
Posts: 9
Joined: 2 years ago

Changing tolerence

Post by Ebru »

Hello,

I have a mixed integer model. GAMS outputs my binary variables as decimals. For this, I guess I need to change the integrality tolerance value. But I don't know how to do it. Do you have a code?
User avatar
bussieck
Moderator
Moderator
Posts: 1033
Joined: 7 years ago

Re: Changing tolerence

Post by bussieck »

There is no GAMS option for this. This is solver specific. Check the solver documentation of the used solved and set the option (if available). For example, for GAMS/Cplex this option is called epint. For most solvers the default is 1e-6 and is usually good enough. Reducing this option (e.g. epint) can have serious impact on performance.

-Michael
Ebru
User
User
Posts: 9
Joined: 2 years ago

Re: Changing tolerence

Post by Ebru »

I'm new to use Gams. Sorry for that, cause I can not understand completely what you mean. My solver is CONOPT (non-linear problem effect).
If there is not a Gams option, how can I fix this tolerance problem?

For example, I have a binary variable. And solver gives a solution as 0.8. Thats a huge range for my problem. I want to change the tolerance as 0.

I will be very very appriaciate if you help me🙏🙏
User avatar
bussieck
Moderator
Moderator
Posts: 1033
Joined: 7 years ago

Re: Changing tolerence

Post by bussieck »

Conopt does not solve models with binary variables. -Michael
Ebru
User
User
Posts: 9
Joined: 2 years ago

Re: Changing tolerence

Post by Ebru »

Hi again Michael,

Did I say wrong which solver it is? Because the model works and does not give an error. but the result is not binary. Trying to solve it with MINLP.

So what i have to do for getting a sensible results? :(
User avatar
dirkse
Moderator
Moderator
Posts: 214
Joined: 7 years ago
Location: Fairfax, VA

Re: Changing tolerence

Post by dirkse »

Hello,

Have you verified that the solver completed successfully? If the solver terminates prior to finding a solution (say, because of a time limit or iteration limit, or because it declares the model infeasible) then the level values returned by the solver for binary variables might not be close to 0 or 1.

-Steve
Ebru
User
User
Posts: 9
Joined: 2 years ago

Re: Changing tolerence

Post by Ebru »

Hi Steve,

Thank you very much your attention.

I want to add my output panel here as attachment. I think showing it this way will make it clearer because I don't understand exactly why the iterations are terminated. But the infeasible option seems to be correct.
image.png
Post Reply