【问题标题】:OPL CPLEX, Problem adding a similarity constraint to my optimization problemOPL CPLEX,向我的优化问题添加相似性约束的问题
【发布时间】:2018-09-13 18:51:45
【问题描述】:
这是我要解决的the optimization problem。我想添加一个新的约束,如下所示:
- Z 是用户购物篮中的产品集合
- similarity(zi,zj) 是衡量产品 zi 和 zj 相似度的相似度函数。
此新约束的目标是确保我们的用户购物篮不包含类似(冗余)产品。
如果我们假设我有一个名为similarity(product1, product2) 的相似函数,它将两个产品作为参数并给出它们之间的相似性,我该如何添加这个约束。
谢谢
【问题讨论】:
标签:
optimization
cplex
opl
【解决方案1】:
让我分享一个例子。与我之前分享的模型相比,您可以添加:
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;
}
在被屏蔽的主题中。