I am having a non-linear minimization problem apparently with non-convexity. I use the Pyomo framework for an energy system operation optimization model, where a once configured optimization model needs to be evaluated in sequential hours (I create the optimization problem at the beginning, defining the variables, constraints and objective function for the specific system and then I try to solve this created set up for the "simulation " time frame (e.g. for every hour in a given year), changing only the energy demand parameter, ...minimizing operation costs). I have noticed that for some random hours an optimum cannot be found. In most of these failed cases I get "max iteration number reached", sometimes "restoration failed" result.
To overcome this problem I would like to use the Pyomo "multistart" method (pyo.Solverfactory('multistart').solve(model)), which by default uses the IPOPT solver. I had been using it previously as well, but then I had the syntax:
pyo.Solverfactory('ipopt', executable=...ipopt.exe)
In this new case with multistart though I cannot define the executable for the IPOPT solver. Could you please help me how to solve this problem?(...or suggest alternatives to multistart to overcome the starting point issue of non-convex minimization)
So far I have tried:
pyo.Solverfactory('multistart', executable=...ipopt.exe).solve(model)
pyo.Solverfactory('multistart').solve(model, solver='ipopt', executable=...ipopt.exe)
Thanks a lot!