首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过docplex打印双模式

通过docplex打印双模式
EN

Stack Overflow用户
提问于 2022-09-07 13:58:49
回答 1查看 30关注 0票数 0

我已经开发了一个线性程序,并通过docplex在Python中实现了它。我想知道如何使用docplex打印双模?我也看到过其他编程语言的类似文章,但是我找不到关于docplex的相关讨论。

如何使用java从Cplex导出双模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-07 14:56:20

我会通过外部调用从python中使用cplex命令行。

如果我使用动物园实例

代码语言:javascript
复制
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我得到

代码语言:javascript
复制
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格式提供

代码语言:javascript
复制
Minimize
 rhs: - 300 kids
Subject To
 nbBus40: - 40 kids >= -500
 nbBus30: - 30 kids >= -400
End
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73636791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档