Python 纸浆:设置不是基于lpSum的约束,而是在一定范围内的约束?

Python 纸浆:设置不是基于lpSum的约束,而是在一定范围内的约束?,python,optimization,pulp,minimization,Python,Optimization,Pulp,Minimization,我试图理解python中的纸浆库,特别是定义不涉及lpSum的约束,这些约束只是其中一个变量的直边界 orders_dict_test = {"Orders": [11, 22, 33, 44, 55, 66, 77], "Num_Days": [1, 2, 2, 3, 3, 5, 6]} 如何使用“Num_Days”创建一个纸浆约束,我们只想包括“Orders”,其中“Num_Days”大于等于1且我不完全理解这个问题,也不完全理解您试图实现的目标。但

我试图理解python中的纸浆库,特别是定义不涉及lpSum的约束,这些约束只是其中一个变量的直边界

orders_dict_test = {"Orders": [11, 22, 33, 44, 55, 66, 77],
                    "Num_Days": [1, 2, 2, 3, 3, 5, 6]}

如何使用“Num_Days”创建一个纸浆约束,我们只想包括“Orders”,其中“Num_Days”大于等于1且我不完全理解这个问题,也不完全理解您试图实现的目标。但是,一般来说,在创建约束时,您可以使用变量的“集合”做两件事(集合只是一组变量,您可以以任何方式定义它们)

可以对该变量集求和,也可以对该集中的每个变量应用约束


因此,对于您的示例,创建满足
orders\u dict\u test['Num\u Days']>=1和=1以及nd的变量子集是非常简单的。我不完全理解这个问题,或者您试图实现什么。但是,一般来说,在创建约束时,您可以使用变量的“集合”做两件事(集合只是一组变量,您可以以任何方式定义它们)

可以对该变量集求和,也可以对该集中的每个变量应用约束


因此,对于您的示例,创建满足
orders\u dict\u test['Num\u Days']>=1和=1的变量子集非常简单,ndI不知道您在这里想要实现什么。首先写下你的问题的数学模型可能会有帮助。通常,这会使将其转录成纸浆/Python更容易一些。我不知道您在这里想要实现什么。首先写下你的问题的数学模型可能会有帮助。通常这会使将其转录到Pulp/Python中变得更容易。我明白您的意思,所以实现这一点的一种方法是编写prob+=orders\u dict\u test['Num\u Days']>=1,我明白您的意思,所以实现这一点的一种方法是编写prob+=orders\u dict\u test['Num\u Days']>=1和
orders_dict_test = {"Orders": [11, 22, 33, 44, 55, 66, 77],
                    "Num_Days": [1, 2, 2, 3, 3, 5, 6]}

print([(o, nd) for o, nd in zip(orders_dict_test['Orders'], orders_dict_test['Num_Days']) if nd >= 1 and nd<= 4])