I am currently optimizing a mixed integer nonlinear problem in python with Gekko. Therefore I am using APOPT solver and I have made quite good experiences with that solver so far. My problem is not so big in terms of decicion variables and restrictions. I have 5 decicion variables, whereas 2 of them are arrays with a dimension of 1-5 x 3-50 and 1-5 x 3-50 x 2-35 x 1-4 depending on the case. So this "decicion arrays" are what make my problem really hard (when their seperate dimensions are big), I would say. In my problem I have 9 restrictions. Only the second, big array is an integer decicion variable.
So I guess I have a nonconvex problem (?) where I have read in the web, that most of the solvers do not guarantee to find the global optimum.
When I run APOPT on my problem I have chosen a maximum of 10 000 iterations and most of the time APOPT finds a solution. Most of the time APOPT stops at iteration Nr. 10 000. But sometimes the solver says: "no more possible trial points, returning the best integer solution". Does this mean this solution is a global optimum? Furthermore APOPT sometimes shows "successful solution" after displaying a "Gap" of 0 or less. Does this also mean APOPT has found the global optimum?
I am using "lowest objective leaf" as branch method and a gap tolerance of 0.
Any help is very much appreciated. Thank you and greetings from Austria!