为特定Python Pulp Maximization问题创建条件约束

bq9c1y66  于 2022-12-20  发布在  Python
关注(0)|答案(1)|浏览(171)

我无法找到一种方法来创建一个听起来像这样的约束:例如,我有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
wz3gfoph

wz3gfoph1#

这里有一些关于模型结构的“缺失部分”,但一般来说,您可以通过执行以下操作来限制“超级罕见”(SR):

prob += SR <= R / 25

相关问题