我无法找到一种方法来创建一个听起来像这样的约束:例如,我有2个变量,一个是常规产品,另一个是超级稀有产品。2为了拥有超级稀有产品,你需要已经拥有25个该产品的常规版本。3这是可以堆叠的(例如,如果算法选择75个常规产品,则它可以具有3个超级稀有)。其原因是超级稀有更有利可图,所以如果我把它放在没有任何约束的地方,它只会选择非常稀有的元素。2有什么想法关于如何写这样一个约束?
先谢了!
部分代码:
hwProblem = LpProblem("HotWheels", LpMaximize)
# Variables
jImportsW_blister = LpVariable("HW J-Imports w/ blister", lowBound=20, cat=LpInteger) # regular product
jImportsTH = LpVariable("HW J-Imports treasure hunt", lowBound=None, cat=LpInteger) # super rare product
# Objective Function
hwProblem += 19 * jImportsW_blister + 350 * jImportsTH # profit for each type of product
# Constraints
hwProblem += jImportsW_blister <= 50, "HW J-Imports maximum no. of products"
hwProblem += jImportsTH <= jImportsW_blister / 25
# ^this is where the error is happening
1条答案
按热度按时间wz3gfoph1#
这里有一些关于模型结构的“缺失部分”,但一般来说,您可以通过执行以下操作来限制“超级罕见”(
SR
):