首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在找到每个可行的解决方案后停止DoCplex.CP求解?

如何在找到每个可行的解决方案后停止DoCplex.CP求解?
EN

Stack Overflow用户
提问于 2021-04-05 15:56:07
回答 1查看 123关注 0票数 0

亲爱的,

目前,我正在使用OPL来解决一个使用CP的问题.基本模型是在OPL中建立的,然后我通过DoCplex将其调用到python中。我有以下问题: 1-在OPL模型中,有一些没有导入python的决策表达式(dexpr)。我怎样才能做到,或者在哪里可以找到进口的地塞米松(如果有的话)。2-如何在找到每个可行的解决方案后停止求解,然后再运行求解程序。这有可能吗?

提前感谢穆罕默德

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-12 08:48:01

如果您希望在python代码

  1. 中看到这些元组,则可以将它们转换为元组(

)。

  1. 您可以在OPL中使用流控制并调用postProcess/

https://github.com/AlexFleischerParis/zooopl/blob/master/zooseveralcpo.mod的例子

代码语言:javascript
复制
using CP;


int nbKids=300;
float costBus40=500;
float costBus30=400;
     
dvar int+ nbBus40;
dvar int+ nbBus30;
     
minimize
     costBus40*nbBus40  +nbBus30*costBus30;
     
subject to
{
     40*nbBus40+nbBus30*30>=nbKids;
}

execute
{
    writeln("nbBus40 = ",nbBus40," and nbBus30 = ",nbBus30," and the cost is ",costBus40*nbBus40  +nbBus30*costBus30);
}



main
{
cp.param.SearchType=24;
cp.param.workers=1;

thisOplModel.generate();
cp.startNewSearch();
while
(cp.next()) {  thisOplModel.postProcess(); }
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66955819

复制
相关文章

相似问题

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