感谢@MichaWiedenmann、@JeroenMostert 和@wyck,我能够使用 Microsoft Solver Foundation (MSF) 提出解决方案。
我从
y = 0.0002x^4 + 0.0031x^3 - 0.3972x^2 - 27.394x + 6879.2
经过一些正则表达式按摩后,我想出了
y == 0.0002 * Power[x,4] + 0.0031 * Power[x,3] - 0.3972 * Power[x,2] - 27.394 * x + 6879.2
这是一种可由 MSF 解决的格式
SolverContext context = SolverContext.GetContext();
var model = context.CreateModel();
Decision y = new Decision(Domain.Real, "y");
model.AddDecisions(y);
int x = GetValueFromDatabase();
string formula = GetFormulaFromDatabase().Replace("x",x.ToString());
model.AddConstraint("myFormula", formula);
var solution = context.Solve();
var report = solution.GetReport();
Console.WriteLine("Load: {0}", y);
使用此代码,我能够以 MSF 格式从数据库中提取我的字符串方程,加载我的 x 值,并评估方程。
感谢大家的帮助。