在内部点求解器中,我们可以设置像x1 x2 x3 x3 x4 = 1的统一约束,我们可以设置约束,例如0.10< = x1 x3> = 0.80和0.80和0.80和0.20< = = =x2 x4> = 0.50使用setCofficity。
请提供样本以设置扇区重量边界的约束和安全性级别。
https://csharp.hotexamples.com/examples/-/interiorpointsolver/addrow/php-interiorpointsolvointsolver-addrow-method-method-examples.html
我们已经使用了Markowitz模型的InteriorpointSolver代码,它已求解以最大程度地减少或最大化安全性。但是我们无法对所有证券子集的总和的总和进行设定。我们试图使用SetCefility设置约束,但它不起作用。请提供
这是一个奇怪的约束。
0.10 <= x1+x3 >= 0.80
可以作为
来重述x1+x3 >= 0.10
x1+x3 >= 0.80
或只是
x1+x3 >= 0.80
没有汗水!
如果海报确实意味着:
0.10 <= x1+x3 <= 0.80
(这总是有助于重新阅读您的问题!(然后我们可以将其写为:
x1+x3 >= 0.10
x1+x3 <= 0.80
这对于实施是微不足道的。
如果求和的长度很长:
0.10 <= x1+x2+x3+... <= 0.8
有一个更好的方法:
y in [0.1,0.8] (extra variable with lower and upper bounds)
y = x1+x2+x3+... (single equality constraint)
这可以防止在模型中两次长时间求和。基本上,我们创建一个额外的变量,但保存一个约束和相应的非零系数。
当然,Microsoft Solver Foundation不应在实际项目中使用:2012年已停止。