C# 将字符串转换为约束;术语;求解器基础 我试图使用Sover基金会来创建一个能够解决线性规划问题的应用程序。长话短说我在尝试将字符串表达式转换为Microsoft.SolverFoundation.Services.Term时遇到了麻烦

C# 将字符串转换为约束;术语;求解器基础 我试图使用Sover基金会来创建一个能够解决线性规划问题的应用程序。长话短说我在尝试将字符串表达式转换为Microsoft.SolverFoundation.Services.Term时遇到了麻烦,c#,linear-programming,ms-solver-foundation,C#,Linear Programming,Ms Solver Foundation,我想做的是向模型添加一个字符串作为约束,但首先必须将其转换为“术语” 我试着铸造(如上所述),但无济于事 如何将字符串作为可接受的术语传递给addConstraint函数?您需要做的是使用决策的全名而不是变量的名称,并让addConstraint(string,string)重载为您进行解析。像这样: string theTerm = "(20 * barrels_saudiarabia) + (15 * barrels_venezuela) + (3 *

我想做的是向模型添加一个字符串作为约束,但首先必须将其转换为“术语”

我试着铸造(如上所述),但无济于事


如何将字符串作为可接受的术语传递给addConstraint函数?

您需要做的是使用
决策的全名而不是变量的名称,并让
addConstraint(string,string)
重载为您进行解析。像这样:

string theTerm = "(20 * barrels_saudiarabia) + 
                  (15 * barrels_venezuela) + (3 * barrels_saudiarabiad)";
model.AddConstraint("Name_of_constraint", theTerm);

要使其起作用,表达式字符串当然必须符合
Term T=(Term)once
行中的规则。

什么是
once
?如果它是
术语
?我理解,但我希望用户指定“术语”,因此它通常来自文本框作为字符串。很抱歉,首先误解了这个问题。请看我最新的答案。先生,您是国王。
string theTerm = "(20 * barrels_saudiarabia) + 
                  (15 * barrels_venezuela) + (3 * barrels_saudiarabiad)";
model.AddConstraint("Name_of_constraint", theTerm);