IBM ILOG CPLEX显式创建模型实例后,如何让Problem Browser显示结果?
让显式创建的IloOplModel结果在IBM ILOG CPLEX Optimization Studio 12.7的Problem Browser显示
问题根源在于:隐式的thisOplModel是IDE自动创建并注册到内置模型管理器的,所以求解后结果会自动同步到Problem Browser。而你手动new IloOplModel()创建的实例,IDE默认不会追踪它,需要手动把它注册到模型管理器里。
具体操作步骤:
获取模型管理器实例
在你的main()模块中,先获取IDE的OplModelManager对象,它负责管理所有要在Problem Browser展示的模型:var modelManager = OplFactory.getOplModelManager();注册你的显式模型
创建完自定义模型实例后,调用模型管理器的add()方法把它加入管理列表:// 假设你已经有了OplDefinition def和IloCplex cplex实例 var myExplicitModel = new IloOplModel(def, cplex); modelManager.add(myExplicitModel);(可选)给模型命名方便识别
可以给模型设置一个自定义名称,这样在Problem Browser里能和其他模型区分开:myExplicitModel.setName("CustomProductionModel");
完成以上步骤后,当你求解这个显式模型,结果就会自动出现在Problem Browser里了。程序结束前如果需要清理资源,可调用modelManager.remove(myExplicitModel),但如果要保留结果在IDE里查看,建议不要提前移除。
内容的提问来源于stack exchange,提问作者Kilian
相关产品推荐
相关产品推荐

