如何使用IBMCplex在混合整数编程中映射目标函数中的数据库值



我正在尝试使用cplex对学生作业问题进行建模。我在访问数据库中有学生详细信息(例如:学生id和分数)我能够使用元组从db到.mod文件获得这些值。

tuple stuType{
  int id;
  int mark;
}
stuType m[id][mark]=...;

现在我想在我的目标函数中使用这些值。

maximize sum(a in id, b in id, k in mark) m [a] [k] * m [b] [k];

但是这个符号在目标函数中给了我错误。对于如何解决这个问题的任何帮助,我们将不胜感激。

哦。好的。欢迎来到优化的奇妙世界。如果你对任何形式的编程都是新手,那么这可能有点棘手;但一旦你有了一些基本的想法,它真的不会太复杂。我们只需要用不同的方式来解释。我会从一个非常琐碎的模型开始,它没有什么作用,但至少可以让您查看数据。

试着在数据读取后使用一些非常简单的东西,比如:

dvar float+ x;
maximize x;
subject to
{
  x <= 10;
};

该模型实际上与您的数据或问题无关,但至少应该运行,CPLEX工作室环境至少应该让您查看它读取的数据。一旦你知道你的数据实际上是什么样子的,你就有更好的机会得到一个有用的模型。

相关内容

  • 没有找到相关文章

最新更新