我对此很陌生,所以我只是想拍摄并希望我尽可能准确,你会认为它值得回答。
我正在尝试优化(最小化)成本/数量模型,其中两者都是连续变量。应尽量减少全球成本,但这取决于总量,这取决于具体成本。
到目前为止,我的代码看起来像这样:
public override void VisitMethodDeclaration(MethodDeclarationSyntax node)
{
var sqlCommandDeclaration = node.Body.Statements
.Where(x => x.IsKind(LocalDeclarationStatement))
.Cast<LocalDeclarationStatementSyntax>()
.FirstOrDefault(x => x.Declaration.Type.GetText().ToString() == "SqlCommand");
base.VisitMethodDeclaration(node);
}
X是数量,P是价格。 WP和IWP是两种不同的技术(稍后将添加更多)。由于X和P相乘,问题是非线性的,现在我还没有找到解决方案,以便为gurobi提供一个可以处理的目标。
我的在线研究和stackoverflow基本上让我得出结论,我可以用gurobi进行线性化和求解,找到另一个可以解决这个MINLP的解算器,或者以Gurobi可以解决的方式制定我的目标。由于我已经熟悉了Gurobi,这将是我的首选。
关于此时什么是最好的建议? 非常感谢!
答案 0 :(得分:-1)
我建议使用Pyomo重写您的Python代码。
这是Python的通用优化建模框架,可以为Gurobi以及许多其他优化工具构建有效的输入。
特别是,它允许您使用Ipopt作为后端,它确实解决了(至少某些)非线性问题。即使Ipopt无法解决您的非线性问题,使用Pyomo将允许您快速测试,然后在事情无法解决时轻松地回到Gurobi中的线性化表示。