我是数学编程的新手。我想解决一个MILP问题。它旨在最大化x_i s的总和,但是我希望x_i s为0或某个值的倍数(比方说,5)。所以每个x_i可以是0,5,10等。
如果我将5作为下限而不是每个x_i变为至少5,但是对于我的问题它应该也是0。如何在MATLAB中为cplexmilp函数编写代码?感谢。
答案 0 :(得分:0)
要处理x(i)是5的倍数或任何数字,只需重新调整你的参数空间。也就是说,如果f(x)是你的原始目标函数而x是5的倍数,只需通过变换f(5 * z)重新表达函数,现在你可以优化一个新的决策变量向量, z,可以包含任何整数。在您可能拥有的任何约束函数中都这样做。