我已经开发了一个线性程序,并通过docplex在Python中实现了它。我想知道如何使用docplex打印双模?我也看到过其他编程语言的类似文章,但是我找不到关于docplex的相关讨论。
发布于 2022-09-07 14:56:20
我会通过外部调用从python中使用cplex命令行。
如果我使用动物园实例
import os
from docplex.mp.model import Model
mdl = Model(name='buses')
nbbus40 = mdl.continuous_var(name='nbBus40')
nbbus30 = mdl.continuous_var(name='nbBus30')
mdl.add_constraint(nbbus40*40 + nbbus30*30 >= 300, 'kids')
mdl.minimize(nbbus40*500 + nbbus30*400)
mdl.solve(log_output=True,)
mdl.export("buses.lp")
for v in mdl.iter_continuous_vars():
print(v," = ",v.solution_value)
os.system("cplex -c \"read buses.lp\" \"write buses.dua\"")然后在buses.dua我得到
NAME buses.lp.dual
ROWS
N rhs
G nbBus40
G nbBus30
COLUMNS
kids rhs -300
kids nbBus40 -40
kids nbBus30 -30
RHS
obj nbBus40 -500
obj nbBus30 -400
ENDATA它以lp格式提供
Minimize
rhs: - 300 kids
Subject To
nbBus40: - 40 kids >= -500
nbBus30: - 30 kids >= -400
Endhttps://stackoverflow.com/questions/73636791
复制相似问题