【问题标题】:How to declare an objective function (Minimize) and it's constraints with upper and lower limits on Python?如何声明目标函数(最小化)及其对 Python 的上限和下限的约束?
【发布时间】:2020-08-12 23:56:01
【问题描述】:

我有一个包含 8 个变量的线性规划问题。如何在 Python 上生成一组具有上限和下限的约束(等式和/或不等式)以最小化目标函数?如果可能,我特别要求使用 Pyomo 求解器,如果不在 Python 上使用任何其他求解器(例如,Gurobi、Cplex 等)很好,我只是想知道如何在 Python 上解决这个问题。

【问题讨论】:

标签: python optimization anaconda linear-programming pyomo


【解决方案1】:

非常simple bus and zoo example:

import pyomo.environ as pyo
from pyomo.opt import SolverFactory

opt = pyo.SolverFactory('cplex')

model = pyo.ConcreteModel()

model.nbBus = pyo.Var([40,30], domain=pyo.PositiveIntegers)

model.OBJ = pyo.Objective(expr = 500*model.nbBus[40] + 400*model.nbBus[30])

model.Constraint1 = pyo.Constraint(expr = 40*model.nbBus[40] + 30*model.nbBus[30] >= 300)

results = opt.solve(model)

print("nbBus40=",model.nbBus[40].value)
print("nbBus30=",model.nbBus[30].value)

【讨论】:

    猜你喜欢
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 2016-05-27
    相关资源
    最近更新 更多