首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用OPL在CPLEX中编写最小最大目标函数?

如何使用OPL在CPLEX中编写最小最大目标函数?
EN

Stack Overflow用户
提问于 2021-07-20 05:14:00
回答 2查看 114关注 0票数 0

我是CPLEX的新手,我正在努力编写以下最小最大目标函数。这是我在Stack Overflow上的第一个问题,所以我不能发布图像,但这是用latex写的等式:

代码语言:javascript
复制
$$\sum_{a=1}^A min ( max \sum_{b=1}^B \sum_{c=1}^C \sum_{d=1}^D t_{d_a}*x_{adbc})$$
EN

回答 2

Stack Overflow用户

发布于 2021-07-20 19:45:06

Model Building问题13 Market Sharing中的简单示例

代码语言:javascript
复制
dvar float obj1;
dvar float obj2;

//minimize obj1*1000+obj2; // without staticLex
minimize staticLex(obj1,obj2);  // with staticLex

subject to
{
obj1==sum(i in 1..nbConstraints) abs(tolerance[i]); // First objective
obj2==max(i in 1..nbConstraints) abs(tolerance[i]); // Second objective

obj2是一个极大极小

票数 0
EN

Stack Overflow用户

发布于 2021-08-03 07:36:38

我同意OPL语法本身可能是一个大问题。如果我不尝试将复杂的表达式压缩到一行中,并将这些表达式拆分成更小的部分并逐步构建它们,我肯定会发现它更简单。一旦你得到了你想要的东西,在更小的部分中工作,如果你想要的话,通常很容易从它构建成更小或更整洁的格式。

如果这是如何建模或创建“极小极大”目标的逻辑,我可以尝试解释我是如何思考它的。

假设我们有一组变量或表达式V,然后我们可以创建一个新变量(让我们称之为maxV),并添加约束,使maxV大于或等于V中的每个变量。然后,为了实现极小极大目标,我们需要最小化该新变量maxV。

我不确定我是否理解你的LaTeX方程:它是这样的:

从这个等式可以看出,你有一个关于一组极小极大型表达式的和。如果这是真的,那么我们可以重复上面的模式,并最小化一组极小极大表达式的总和。所以我们有多个集合V_i,对于每个集合V_i,我们可以创建额外的变量maxV_i,该变量被约束为大于或等于相应集合V_i中的所有变量。最后,我们可以对maxV_i变量集合求和,并将其作为我们的目标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68447090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档