[RBFOpt] Running example in RBFOpt

Giacomo Nannicini giacomo.n at gmail.com
Wed Sep 23 20:43:04 EDT 2020


I do not understand the order of the code in the Python snippet.
If bonmin and ipopt are not in your part, you must set the
corresponding options in the RbfoptSettings object that is passed to
RbfoptAlgorithm.

Giacomo

On Wed, Sep 23, 2020 at 8:38 PM Chuong Thaidoan
<chuongthaidoan at gmail.com> wrote:
>
> Dear Giacomo,
> Thank you for your advice. I have just to re-install Bonmin and run the code. It shows errors as follows. Could you please take a look and let me know some further comments?
> Iter  Cycle  Action             Objective value      Time      Gap
>   ----  -----  ------             ---------------      ----      ---
>      0      0  Initialization           -0.782797      0.01   100.00 *
>      0      0  Initialization           69.095477      0.01   100.00
>      0      0  Initialization           20.000000      0.01   100.00
>      0      0  GlobalStep               -9.829600      0.03   100.00 *
>      1      0  GlobalStep               -9.946732      0.06   100.00 *
>      2      0  GlobalStep               -0.133622      0.08   100.00
>      3      0  GlobalStep               -8.304083      0.10   100.00
>      4      0  GlobalStep               -9.999968      0.12   100.00 *
> Traceback (most recent call last):
>   File "C:/Users/chuong/PycharmProjects/LearningPython/Ipopt/RBFOpt_test_ipopt.py", line 14, in <module>
>     val, x, itercount, evalcount, fast_evalcount = alg.optimize()
>   File "C:\ProgramData\Anaconda3\lib\site-packages\rbfopt\rbfopt_algorithm.py", line 795, in optimize
>     self.optimize_serial(pause_after_iters)
>   File "C:\ProgramData\Anaconda3\lib\site-packages\rbfopt\rbfopt_algorithm.py", line 1056, in optimize_serial
>     self.node_is_noisy)
>   File "C:\ProgramData\Anaconda3\lib\site-packages\rbfopt\rbfopt_algorithm.py", line 2438, in local_step
>     categorical_info, node_pos, rbf_lambda, rbf_h, node_pos[fmin_index])
>   File "C:\ProgramData\Anaconda3\lib\site-packages\rbfopt\rbfopt_aux_problems.py", line 297, in minimize_rbf
>     if (not opt.available()):
>   File "C:\ProgramData\Anaconda3\lib\site-packages\pyomo\opt\base\solvers.py", line 99, in available
>     raise pyutilib.common.ApplicationError("Solver (%s) not available" % str(self.name))
> pyutilib.common._exceptions.ApplicationError: Solver (bonmin) not available
>
> Your code:
>
> import rbfopt
>
> settings = rbfopt.RbfoptSettings(minlp_solver_path='/home/chuong/bonmin-stable/build/bonmin',\
>                                  nlp_solver_path='/home/chuong/bonmin-stable/build/ipopt')
>
> import numpy as np
> def obj_funct(x):
>   return x[0]*x[1] - x[2]
>
> bb = rbfopt.RbfoptUserBlackBox(3, np.array([0] * 3), np.array([10] * 3),
>                                np.array(['R', 'I', 'R']), obj_funct)
> settings = rbfopt.RbfoptSettings(max_evaluations=50)
> alg = rbfopt.RbfoptAlgorithm(settings, bb)
> val, x, itercount, evalcount, fast_evalcount = alg.optimize()
>
>
> On Wed, Sep 23, 2020 at 11:43 PM Giacomo Nannicini <giacomo.n at gmail.com> wrote:
>>
>> You need both executables. You can download them from AMPL's website. If you compile from scratch, then Bonmin will also compile Ipopt.
>>
>> If the executables are not in the system path, you can specify their location via options.
>>
>>
>> G
>>
>>
>> On Wed, Sep 23, 2020, 9:36 AM Chuong Thaidoan <chuongthaidoan at gmail.com> wrote:
>>>
>>> Dear Giacomo,
>>> Thank you for your email. I am re-installing Bonmin because it still shows errors although I already specified the Path. Can I ask it is true that Bonmin contains Ipopt and so we only need to install Bonmin with Cygwin 64?
>>> Best regards,
>>> TD Chuong
>>>
>>> On Wed, Sep 23, 2020 at 10:46 PM Giacomo Nannicini <giacomo.n at gmail.com> wrote:
>>>>
>>>> Chuong,
>>>> please read the instruction manual, section 1.2. You need Bonmin and
>>>> Ipopt to be in your system path, or otherwise you need to specify
>>>> their location as options.
>>>>
>>>> Best,
>>>>
>>>> Giacomo
>>>>
>>>>
>>>>
>>>>
>>>> Dear the authors,
>>>> I am studying your interesting black-box function packages (RBFOpt),
>>>> and I just install it with Bonmin-1.8.8 solver via Cygwin64. I put
>>>> your "minimal working example" in Bonmin-1.8.8 folder and run it with
>>>> Pycharm. However, it shows errors
>>>> "pyutilib.common._exceptions.ApplicationError: Solver (bonmin) not
>>>> available".
>>>>
>>>> Could you please let me know some your advice? Thank you.
>>>> Best regards,
>>>> Chuong Thai Doan
>>>> Research Fellow at School of Information Technology
>>>> Deakin University, Melbourne, Australia


More information about the RBFOpt mailing list