Cobyla - 如何用变量定义约束

Mic*_*ael 5 c# accord.net

我尝试使用来自C#库的Cobyla类来解决带约束的非线性优化问题.当约束是常量时,它可以正常工作,例如:

NonlinearConstraint(2, x => x[0] + x[1] <= 100.0)
Run Code Online (Sandbox Code Playgroud)

我需要在约束中使用变量(值需要由用户更改),例如:

double limit = 100.0; 
NonlinearConstraint(2, x => x[0] + x[1] <= limit) 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我得到了例外:

Accord.Math.dll中出现未处理的"System.NullReferenceException"类型异常

谁能告诉我如何正确定义NonlinearConstraint变量的例子?