要解决此类quadratic programming
问题(mean-variance portfolio
),我想在Microsoft.SolverFoundation
中使用C#
,但
https://msdn.microsoft.com/en-us/library/ff759370(v=vs.93).aspx
太抽象了,无法理解,任何人都可以给我一个特定的例子或其他我可以轻松处理的免费libaray吗?
我在这里使用accord.net
// Declare symbol variables
double x = 0, y = 0, z = 0;
// Create the function to be optimized
var f = new QuadraticObjectiveFunction(() => x * x - 2 * x * y + 3 * y * y + z * z - 4 * x - 5 * y - z);
// Create some constraints for the solution
var constraints = new List<LinearConstraint>();
constraints.Add(new LinearConstraint(f, () => 6 * x - 7 * y <= 8));
constraints.Add(new LinearConstraint(f, () => 9 * x + 1 * y <= 11));
constraints.Add(new LinearConstraint(f, () => 9 * x - y <= 11));
constraints.Add(new LinearConstraint(f, () => -z - y == 12));
// Create the Quadratic Programming solver
GoldfarbIdnani solver = new GoldfarbIdnani(f, constraints);
// Minimize the function
bool success = solver.Minimize();
double value = solver.Value;
double[] solutions = solver.Solution;
左边的问题是
linq query
使用vector
进入accord.net
答案 0 :(得分:0)
不推荐使用Microsoft.SolverFoundation。
如果您需要在C#中使用,我建议使用Accord.Net。
答案 1 :(得分:-1)
您可以在以下链接中找到一些内容: http://crsouza.com/2012/04/05/quadratic-programming-in-c/
部分&#34;手动指定QP矩阵&#34;将是有用的