OPL CPLEX,向我的优化问题添加相似性约束时出现问题
OPL CPLEX, Problem adding a similarity constraint to my optimization problem
这是我的我要解决的问题。我想添加一个新的约束,如下所示:
- Z 是用户购物篮中的产品集
- similarity(zi,zj) 是衡量产品 zi 和 zj 相似度的相似度函数。
这个新约束的目标是确保我们的用户购物篮不包含相似(冗余)的产品。
如果我们假设我有一个名为 similarity(product1, product2) 的相似度函数,该函数将两个产品作为参数并给出它们之间的相似度,我该如何添加这个约束。
感谢
让我举个例子。与我之前分享的模型相比,您可以添加:
float similarity[i in allProducts][j in allProducts]=
abs(ord(allProducts,i)-ord(allProducts,j));
float sim=4;
在要阻止的主题之前,然后:
ctSim:
forall(ordered i,j in allProducts) z[i]*z[j]*similarity[i][j]<=sim;
}
在要阻止的主题中。
这是我的
- Z 是用户购物篮中的产品集
- similarity(zi,zj) 是衡量产品 zi 和 zj 相似度的相似度函数。
这个新约束的目标是确保我们的用户购物篮不包含相似(冗余)的产品。
如果我们假设我有一个名为 similarity(product1, product2) 的相似度函数,该函数将两个产品作为参数并给出它们之间的相似度,我该如何添加这个约束。
感谢
让我举个例子。与我之前分享的模型相比,您可以添加:
float similarity[i in allProducts][j in allProducts]=
abs(ord(allProducts,i)-ord(allProducts,j));
float sim=4;
在要阻止的主题之前,然后:
ctSim:
forall(ordered i,j in allProducts) z[i]*z[j]*similarity[i][j]<=sim;
}
在要阻止的主题中。