-1
爲了解決這樣的問題quadratic programming
(mean-variance portfolio
),我想在C#
使用Microsoft.SolverFoundation
,但在
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;
左問題是
- 如何寫的x,y和z爲矢量x =(X_1,X_2,...,x_n),因爲我有很多變量(當然寫目標函數爲矩陣f = xMx'的形式)?
- 我可以使用
linq query
在爲vector
在accord.net
你能舉一些這個庫的例子,我真的很着急解決這個問題。非常感謝。 –
https://github.com/accord-net/framework/wiki/Sample-applications#quadratic-programming-qp-solver – jamesbascle
非常有幫助!並留下一些問題,請參閱更新。 –