Как объявить целевую функцию (Минимизировать) и ее ограничения с верхним и нижним пределами на Python? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть проблема линейного программирования с 8 переменными. Как я могу сгенерировать набор ограничений (равенств и / или неравенств) с верхними и нижними границами на Python, чтобы минимизировать целевую функцию ?. Я специально прошу сделать это с помощью решателя Pyomo, если это возможно, если не использовать какой-либо другой решатель на Python (например, Gurobi, Cplex, et c), я просто хочу иметь представление о том, как справиться с этим проблемы на Python.

1 Ответ

0 голосов
/ 29 апреля 2020

Очень пример простого автобуса и зоопарка :

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...