python - 在线性规划问题中将约束设置为百分比
问题描述
我正在尝试解决以下线性规划问题,其约束条件至少需要每种成分的 10%。问题是要求解决方案至少包含 10% 的种子、10% 的葡萄干、10% 的薄片、10% 的山核桃和 10% 的核桃。目前,我在“#ingredients”下设置了约束,但无法弄清楚如何将值设为 10%,0.10 似乎不起作用。
# declare the model
model = ConcreteModel()
# declare decision variables
model.seeds = Var(domain=NonNegativeReals)
model.raisins = Var(domain=NonNegativeReals)
model.flakes = Var(domain=NonNegativeReals)
model.peacans = Var(domain=NonNegativeReals)
model.walnuts = Var(domain=NonNegativeReals)
# declare objective
model.cost = Objective(
expr = 4*model.seeds + 5*model.raisins + 3*model.flakes + 7*model.peacans + 6*model.walnuts,
sense = minimize)
# declare constraints
# Vitamin Content
model.Vitamins = Constraint(expr = 10*model.seeds + 20*model.raisins + 10*model.flakes +
30*model.peacans + 20*model.walnuts >= 20)
# Mineral Content
model.Minerals = Constraint(expr = 5*model.seeds + 7*model.raisins + 4*model.flakes + 9*model.peacans
+ 2*model.walnuts >= 10)
# Protein Content
model.Protein = Constraint(expr = 1*model.seeds + 4*model.raisins + 10*model.flakes + 2*model.peacans
+ 1*model.walnuts >= 15)
# Calorie Content
model.Calories = Constraint(expr = 500*model.seeds + 450*model.raisins + 160*model.flakes +
300*model.peacans + 500*model.walnuts >= 600)
#Ingredients
# Seed Constraint
model.Seeds = Constraint(expr = model.seeds >= .10)
# Raisin Constraint
model.Raisin = Constraint(expr = model.raisins >= .10)
# Flakes Constraint
model.Flakes = Constraint(expr = model.flakes >= .10)
# Peacans Constraint
model.Peacans = Constraint(expr = model.peacans >= .10)
# Walnuts Constraint
model.Walnuts = Constraint(expr = model.walnuts >= .10)
# show the model you've created
model.pprint()
解决方案
推荐阅读
- python - django 替代方案以防止标头中毒
- python - Pandas:在时间序列中找到第一个条件
- compiler-errors - 为什么运行nrwl nx cli时会出现这个错误?
- python - numpy 数组的并行处理问题
- java - Spring webhook端点获取整个主体以及pojo
- python - Which of the following regular expressions can be used to get the domain name? python
- azure - 正在重新创建 Azure 容器实例
- python - 如何在此代码中添加背景而不会出错?
- spring-boot - Spring Boot - Netty 返回 502 状态
- java - Gradle 多项目构建:未找到插件