用于matlab的CPLEX api中变量的绝对值

时间:2018-03-05 00:59:50

标签: matlab optimization solver cplex absolute-value

我正在尝试使用CPLEX在Matlab上解决模型。当目标是

Maximize x1 + 2 x2 + 3 x3 + x4

介绍cplex.Model.obj = [ 1; 2; 3; 1];就足够了。

当目标是

时,我该怎么办?

Maximize abs(x1) + 2 x2 + 3 x3 + x4

1 个答案:

答案 0 :(得分:1)

简短的回答是CPLEX MATLAB API不支持“开箱即用”的绝对值功能。因此,正如评论中所建议的,如果您想使用MATLAB API,您必须自己制定它。但是,C ++,Java和.NET Concert API支持abs(例如,对于Java API,请参阅here)。 docplex modeling API也支持此功能(请参阅here)。

版本12.8(目前是最新版本)的CPLEX MATLAB API文档为here。我不确定它是否有助于使文档更易于使用,但对我而言,如果单击左上角的“目录”链接,则导航更容易。这将允许您扩展文档树并更容易地跳转。绝对值得查看CPLEX附带的examples