[英]Specify variables bounds in pulp
我正在使用紙漿進行線性編程,我要求的是如何指定列表中的每個項目邊界
mylist=["x","y","z"]
我創建了這個:
vars = LpVariable.dicts("vars", mylist, lowBound=0, cat='Continuous')
但它為列表中的所有項目創建了一個全局范圍,而我想要的是列表中的每個項目
我嘗試了這個,但沒有奏效:
x = LpVariable("x", lowBound=5, upBound=10, cat='Continuous')
謝謝
如果您希望它們在pulp
中有所不同,您只需要為下限/上限創建單獨的約束。 這對求解器來說都是一樣的。
import pulp as plp
products = ['rice', 'veggies', 'fruit']
low_bounds = { 'rice': 5,
'veggies': 7,
'fruit': 2}
prob = plp.LpProblem('example')
x = plp.LpVariable.dicts('products', products, cat='Continuous')
for p in products:
prob += x[p] >= low_bounds[p]
print(prob)
MINIMIZE
None
SUBJECT TO
_C1: products_rice >= 5
_C2: products_veggies >= 7
_C3: products_fruit >= 2
VARIABLES
products_fruit free Continuous
products_rice free Continuous
products_veggies free Continuous
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.