我在我的程序中使用Microsoft Solver Foundation Express
eddition,Express版本根據this link限制在模型大小中。我在Solver Foundation模型中定義了多少個術語/變量/約束/非零?
有沒有辦法找到多少:
- 條款
- 變量
- 約束
- 非零
我在模型中定義,使用代碼?
我在我的程序中使用Microsoft Solver Foundation Express
eddition,Express版本根據this link限制在模型大小中。我在Solver Foundation模型中定義了多少個術語/變量/約束/非零?
有沒有辦法找到多少:
我在模型中定義,使用代碼?
Model類將Decisions
和Constraints
作爲集合維護。你可以列舉這些並計數它們。
要跟蹤您的Term
變量,您可以使用自己的構造方法創建並計數它們。
例子:
static Term NewTerm(Term t)
{
noOfTerms++; // defined as class variable somewhere else
return t;
}
static void Main(string[] args)
{
var context = SolverContext.GetContext();
var model = context.CreateModel();
double sqrt2 = Math.Sqrt(2.0);
var t = new Decision(Domain.RealRange(-sqrt2, +sqrt2), "t");
var u = new Decision(Domain.RealRange(-2 * sqrt2, +2 * sqrt2), "u");
model.AddDecisions(t, u);
Term P = NewTerm(2 * t * t/(3 * t * t + u * u + 2 * t) - (u * u + t * t)/18);
model.AddGoal("objective", GoalKind.Maximize, P);
Console.WriteLine("Constraints: " + model.Constraints.Count());
Console.WriteLine("Decisions: " + model.Decisions.Count());
Console.WriteLine("Goals: " + model.Goals.Count());
Console.WriteLine("Terms: " + noOfTerms);
Solution sol = context.Solve();
Report report = sol.GetReport();
Console.WriteLine(report);
Console.WriteLine();
}
你可能知道,微軟也不再積極推進微軟求解基金會。
@Backs:你覺得我的問題是什麼? – Masoud
@Backs:對我來說,這是一個完全有效的編程問題。 –