[SciPy-dev] Multiple constraints in fmin_cobyla

Nils Wagner nwagner at mecha.uni-stuttgart.de
Tue Nov 8 10:14:40 EST 2005


Robert Kern wrote:
>Nils Wagner wrote:
>  
>>Robert Kern wrote:
>>
>>    
>>>Nils Wagner wrote:
>>>
>>>
>>>      
>>>>Hi all,
>>>>
>>>>How can I apply multiple constraints (e.g. all design variables x \in
>>>>\mathds{R}^n should be positive) in fmin_cobyla ?
>>>>
>>>>x_opt=optimize.fmin_cobyla(func, x, cons, args=(), consargs=(),maxfun=1200)
>>>>
>>>>def cons(x):
>>>>
>>>>  ?????
>>>>  
>>>>        
>>>The documentation is pretty clear:
>>>
>>>  cons     -- a list of functions that all must be >=0 (a single function
>>>              if only 1 constraint)
>>>      
>>I am aware of the help function :-) 
>>Anyway, how do I define a l i s t of functions ?
>>    
>
>It's a regular Python list which contains functions. I can't make it any
>clearer than that. This is pretty fundamental stuff.
>
>def cons0(x):
>  return x[0]
>
>def cons1(x):
>  return x[1]
>
>x_opt = optimize.fmin_cobyla(func, x, [cons0, cons1])
>
>  
Thank you for the note.
Now assume that we have 10^3 constraints. Is there any better way than
typing
def cons0(x):
   return x[0]
.
.
.
def cons999(x):
     return x[999]

Nils
 




More information about the SciPy-Dev mailing list