在intlinprog我怎么能把条件x = 1或0

6视图(30天)
你好,
我已经用intlinprog优化问题,我会解决它。但是我有一个条件约束x必须0或1我怎么能把它放在代码?

接受的答案

蒂亚戈恩里克戈麦斯Lobato
您使用一个低,0和1的上界,分别。如果你的电话号码是一个整数,应该在0和1之间,唯一可能的值可以是这两个。这里有一个例子从intlinprog直接 文档 页x(3)只能有0和1之间的值:
f = [3、2、1);
intcon = 3;
一个= (1 1 1);
b = 7;
Aeq = [4、2、1];
说真的= 12;2
%降低和上界
磅= 0 (3,1);
乌兰巴托=[正,正无穷;1];%执行x(3)是二进制
x = intlinprog (f intcon A、b Aeq,说真的,磅,乌兰巴托)%如果你不需要A、b Aeq等,使他们的价值= []
最优找到解决方案。
Intlinprog停在根节点,因为客观价值差距公差内的最优值,选择。AbsoluteGapTolerance = 0 (
默认的值)。在宽容intcon变量是整数,选项。IntegerTolerance = 1 e-05(默认值)。
x =
0
5.5000
1.0000

更多的答案(0)

类别

找到更多的在线性规划和整数线性规划帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!