2
$\begingroup$

I know that there are some questions concerning this type of error, for example, this link.

I first installed the latest version of ipopt through command line into my Pyomo environment and got the "No executable found for solver 'ipopt' " error. But after studying the stackoverflow answers, I realized that I should downgrade the version of ipopt afterwards I got the same error, again when implementing a model in Pyomo.

Here is the information:

enter image description here

And this is the error:

WARNING: Could not locate the 'ipopt' executable, which is required for solver
    ipopt

---------------------------------------------------------------------------
ApplicationError                          Traceback (most recent call last)
<ipython-input-14-44d48836faac> in <module>
----> 1 results = opt.solve(model)

~\anaconda3\lib\site-packages\pyomo\opt\base\solvers.py in solve(self, *args, **kwds)
    514         """ Solve the problem """
    515 
--> 516         self.available(exception_flag=True)
    517         #
    518         # If the inputs are models, then validate that they have been

~\anaconda3\lib\site-packages\pyomo\opt\solver\shellcmd.py in available(self, exception_flag)
    116             if exception_flag:
    117                 msg = "No executable found for solver '%s'"
--> 118                 raise ApplicationError(msg % self.name)
    119             return False
    120         return True

ApplicationError: No executable found for solver 'ipopt'

Now, I don't know what to do.

$\endgroup$
4
  • $\begingroup$ Did you try finding out where ipopt is installed on your machine (search for its executable) and then, as described in the SO link, manually put it in the folder of pyomo to see whether this solves your problem? If that does, you know it's about setting the correct path for the solver. You can also try to pass the path of the solver executable to pyomo. $\endgroup$
    – EhsanK
    Oct 7 at 17:35
  • $\begingroup$ @EhsanK I installed the ipopt in the pyomo environment. Do you mean that? $\endgroup$
    – Sik Sik
    Oct 7 at 17:39
  • $\begingroup$ The packages are saved somewhere on your machine. e.g. C:\Users\envs\solvers\ipotp. Search for the ipopt.exe on your machine and see where you can find it. Then either provide that path to pyomo as the solver path or just as a hack, do what you found on the SO link and paste it in the folder of solvers for pyomo. Check some of the available solvers in pyomo (like 'glpk', 'cbc', or some commercial solvers if you have them like 'gurobi') as explained here to learn where pyomo search for the path of the solvers. $\endgroup$
    – EhsanK
    Oct 8 at 12:55
  • 2
    $\begingroup$ @EhsanK Dear EhsanK, I managed to solve a model using ipopt. I copied the path of ipopt.exe in the system environment afterward I've smoothly use Pyomo. Thank you so much for your time. $\endgroup$
    – Sik Sik
    Oct 9 at 17:15
4
$\begingroup$

One of the most important things to keep in mind is that we should install Pyomo in another environment than the base environment together with its solvers. However, this is not enough to use Pyomo properly. In the case of ipopt solver, it returns the error No executable found for solver 'ipopt'. To overcome this error, we need to search the exe file of ipopt in our computer and add its path to the system environment paths as follows:

1- Go to the search bar of the Windows

2-Search for system environment variables

3- Open environment variables

4-In the system variables, add the ipopt.exe path to the paths.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.