如何在MatLab' linprog()'中包含整数约束功能?

时间:2017-02-13 16:18:29

标签: matlab optimization linear-programming

所以我在matlab上使用linprog来解决优化问题,其中一个约束是所有数字都是0.5的倍数或者换句话说,每个数字加倍是一个整数。 由于所有约束必须存在的形式(它们必须都是线性方程式),我很难找到将此规则设置为约束的方法。

如何为linprog编写约束以确保返回数组中的所有数字都是0.5的倍数?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用intlinprog轻松完成。 https://www.mathworks.com/help/optim/ug/intlinprog.html

为此,您必须声明一个整数变量x_int。

如果x是您的初始连续变量,则以下约束确保x始终是0.5

的倍数

2x = x_int