[SciPy-user] [OpenOpt] problem with ralg (latest SVN)
dmitrey
dmitrey.kroshko at scipy.org
Sat Sep 6 03:16:41 EDT 2008
Hi Emanuele,
update svn and try now,
HTH, D.
P.S. IIRC you are deal with box-bounded problems, let me remember you
once again, that ralg (especially current implementation) handles it
very badly (especially when lots of active constraints in optim point)
in comparison to scipy_lbfgsb, scipy_tnc or algencan (all are available
from oo, requires scipy or algencan installed), these ones have very
appropriate specialized box-bound solvers.
Regards, D
Emanuele Olivetti wrote:
> OK. Running another custom example I got again the initial "ralg missing"
> error message. Increasing verbosity as you suggested (problem.debug = 1)
> shows the same error message shown before, i.e. "cond" is not available
> in numpy.linalg, so import fails:
> ----
> ...<cut>...
> in solve
> result = self.problem.solve(self.optimization_algorithm) # perform
> optimization!
> File
> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/BaseProblem.py",
> line 185, in solve
> return runProbSolver(self, solvers, *args, **kwargs)
> File
> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/runProbSolver.py",
> line 43, in runProbSolver
> solverClass = getattr(my_import(__solverPaths__[solver_str]),
> solver_str)
> File
> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/runProbSolver.py",
> line 268, in my_import
> mod = __import__(name)
> File
> "/usr/lib/python2.5/site-packages/scikits/openopt/solvers/UkrOpt/ralg_oo.py",
> line 2, in <module>
> from numpy.linalg import norm, cond
> ImportError: cannot import name cond
> ----
>
> Hope this helps,
>
> Emanuele
>
> Emanuele Olivetti wrote:
>
>> Thanks for help.
>>
>> Unfortunately after updating from SVN again I'm not able to reproduce
>> the same error, but instead I get this, about failing to import "cond" from
>> numpy.linalg. It seems that "cond" is not available until the very latest
>> numpy (and even autogenerated NumPy API on scipy.org have no "cond"):
>> ----
>> $ python openopt/scikits/openopt/examples/nlp_1.py
>> OpenOpt checks user-supplied gradient df (shape: (150,) )
>> according to:
>> prob.diffInt = [ 1.00000000e-07]
>> |1 - info_user/info_numerical| <= prob.maxViolation = 0.01
>> derivatives are equal
>> ========================
>> OpenOpt checks user-supplied gradient dc (shape: (2, 150) )
>> according to:
>> prob.diffInt = [ 1.00000000e-07]
>> |1 - info_user/info_numerical| <= prob.maxViolation = 0.01
>> derivatives are equal
>> ========================
>> OpenOpt checks user-supplied gradient dh (shape: (2, 150) )
>> according to:
>> prob.diffInt = [ 1.00000000e-07]
>> |1 - info_user/info_numerical| <= prob.maxViolation = 0.01
>> derivatives are equal
>> ========================
>> Traceback (most recent call last):
>> File "openopt/scikits/openopt/examples/nlp_1.py", line 108, in <module>
>> r = p.solve('ralg', debug = 1)
>> File
>> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/BaseProblem.py",
>> line 185, in solve
>> return runProbSolver(self, solvers, *args, **kwargs)
>> File
>> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/runProbSolver.py",
>> line 43, in runProbSolver
>> solverClass = getattr(my_import(__solverPaths__[solver_str]),
>> solver_str)
>> File
>> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/runProbSolver.py",
>> line 268, in my_import
>> mod = __import__(name)
>> File
>> "/usr/lib/python2.5/site-packages/scikits/openopt/solvers/UkrOpt/ralg_oo.py",
>> line 2, in <module>
>> from numpy.linalg import norm, cond
>> ImportError: cannot import name cond
>> ----
>>
>> Any suggestion on how to solve this?
>>
>> Sorry for the mess.
>>
>> Emanuele
>>
>> Note: this error pops out using numpy+scipy shipped with
>> ubuntu. When using recent SVN version of numpy+scipy
>> everything works well.
>>
>> dmitrey wrote:
>>
>>
>>> Hi Emanuele,
>>> as it is mentioned in openopt install webpage and README.txt numpy v
>>> >= 1.1.0 is recommended. Some other oo users informed of bugs due to
>>> older versions.
>>>
>>> Could you inform what will be outputed if you set p.debug = 1? (either
>>> directly or via p = NLP(..., debug=1,...))
>>>
>>> If the problem with numpy versions is critical for users of your soft,
>>> you'd better to put more recent numpy into Debian soft channel.
>>>
>>> Regards, D.
>>>
>>> Emanuele Olivetti wrote:
>>>
>>>
>>>
>>>> Same problem with numpy 1.0.4 + scipy 0.6.0
>>>> (shipped with ubuntu 8.04 hardy heron).
>>>>
>>>> E.
>>>>
>>>> Emanuele Olivetti wrote:
>>>>
>>>>
>>>>
>>>>
>>>>> Dear all and Dmitrey,
>>>>>
>>>>> I've just updated to latest openopt (SVN). When using numpy 1.0.3
>>>>> and scipy 0.5.2 (standard in Ubuntu 7.10 gutsy gibbon) openopt says
>>>>> that "ralg" (NLP) algorithm is missing! With more recent numpy
>>>>> and scipy it seems to work reliably. But what happened with respect
>>>>> to older numpy+scipy? In that case even running examples/nlp_1.py
>>>>> returns:
>>>>> ----
>>>>> $ python nlp_1.py
>>>>> OpenOpt checks user-supplied gradient df (shape: (150,) )
>>>>> according to:
>>>>> prob.diffInt = [ 1.00000000e-07]
>>>>> |1 - info_user/info_numerical| <= prob.maxViolation = 0.01
>>>>> derivatives are equal
>>>>> ========================
>>>>> OpenOpt checks user-supplied gradient dc (shape: (2, 150) )
>>>>> according to:
>>>>> prob.diffInt = [ 1.00000000e-07]
>>>>> |1 - info_user/info_numerical| <= prob.maxViolation = 0.01
>>>>> derivatives are equal
>>>>> ========================
>>>>> OpenOpt checks user-supplied gradient dh (shape: (2, 150) )
>>>>> according to:
>>>>> prob.diffInt = [ 1.00000000e-07]
>>>>> |1 - info_user/info_numerical| <= prob.maxViolation = 0.01
>>>>> derivatives are equal
>>>>> ========================
>>>>> OO Error:incorrect solver is called, maybe the solver "ralg" is not
>>>>> installed. Maybe setting p.debug=1 could specify the matter more precisely
>>>>> Traceback (most recent call last):
>>>>> File "nlp_1.py", line 110, in <module>
>>>>> r = p.solve('ralg')
>>>>> File
>>>>> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/BaseProblem.py",
>>>>> line 185, in solve
>>>>> return runProbSolver(self, solvers, *args, **kwargs)
>>>>> File
>>>>> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/runProbSolver.py",
>>>>> line 48, in runProbSolver
>>>>> p.err('incorrect solver is called, maybe the solver "' + solver_str
>>>>> +'" is not installed. Maybe setting p.debug=1 could specify the matter
>>>>> more precisely')
>>>>> File
>>>>> "/usr/lib/python2.5/site-packages/scikits/openopt/Kernel/oologfcn.py",
>>>>> line 16, in ooerr
>>>>> raise OpenOptException(msg)
>>>>> scikits.openopt.Kernel.oologfcn.OpenOptException: incorrect solver is
>>>>> called, maybe the solver "ralg" is not installed. Maybe setting
>>>>> p.debug=1 could specify the matter more precisely
>>>>> ----
>>>>>
>>>>> This did not happen before so I guess it is due to a recent
>>>>> commit. It is possible to solve the problem?
>>>>>
>>>>> Kind Regards,
>>>>>
>>>>> Emanuele
>>>>>
>>>>> _______________________________________________
>>>>> SciPy-user mailing list
>>>>> SciPy-user at scipy.org
>>>>> http://projects.scipy.org/mailman/listinfo/scipy-user
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> SciPy-user mailing list
>>>> SciPy-user at scipy.org
>>>> http://projects.scipy.org/mailman/listinfo/scipy-user
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> SciPy-user mailing list
>>> SciPy-user at scipy.org
>>> http://projects.scipy.org/mailman/listinfo/scipy-user
>>>
>>>
>>>
>>>
>> _______________________________________________
>> SciPy-user mailing list
>> SciPy-user at scipy.org
>> http://projects.scipy.org/mailman/listinfo/scipy-user
>>
>>
>>
>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>
>
>
>
More information about the SciPy-User
mailing list