我是CPLEX的新手,我正在努力编写以下最小最大目标函数。这是我在Stack Overflow上的第一个问题,所以我不能发布图像,但这是用latex写的等式:
$$\sum_{a=1}^A min ( max \sum_{b=1}^B \sum_{c=1}^C \sum_{d=1}^D t_{d_a}*x_{adbc})$$
发布于 2021-07-20 19:45:06
Model Building问题13 Market Sharing中的简单示例
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是一个极大极小
发布于 2021-08-03 07:36:38
我同意OPL语法本身可能是一个大问题。如果我不尝试将复杂的表达式压缩到一行中,并将这些表达式拆分成更小的部分并逐步构建它们,我肯定会发现它更简单。一旦你得到了你想要的东西,在更小的部分中工作,如果你想要的话,通常很容易从它构建成更小或更整洁的格式。
如果这是如何建模或创建“极小极大”目标的逻辑,我可以尝试解释我是如何思考它的。
假设我们有一组变量或表达式V,然后我们可以创建一个新变量(让我们称之为maxV),并添加约束,使maxV大于或等于V中的每个变量。然后,为了实现极小极大目标,我们需要最小化该新变量maxV。
我不确定我是否理解你的LaTeX方程:它是这样的:
从这个等式可以看出,你有一个关于一组极小极大型表达式的和。如果这是真的,那么我们可以重复上面的模式,并最小化一组极小极大表达式的总和。所以我们有多个集合V_i,对于每个集合V_i,我们可以创建额外的变量maxV_i,该变量被约束为大于或等于相应集合V_i中的所有变量。最后,我们可以对maxV_i变量集合求和,并将其作为我们的目标。
https://stackoverflow.com/questions/68447090
复制相似问题