intlinprog收益最优的解决方案。你能帮我找到问题?

2视图(30天)
我有大的约束矩阵A、b Aeq,说真的。我选择一个简单的情况我知道x(和消极的成本)的解决方案,我可以被证明是正确的:
逻辑(A * x_example < = b)
逻辑(Aeq * x_example = = beq)
逻辑(x_example > =磅)
逻辑(x_example < =乌兰巴托)
但是零成本intlinprog返回一个结果。
选择= optimoptions (“intlinprog”,“显示”,“最后一次”);
[x_sol, fval eflag、输出]= intlinprog (f, 1:长度(f), A, b, Aeq,说真的,磅,乌兰巴托,选项);
这是一个成本函数f =(是真实的)
0.2300 (1,1)
0.1069 (3,1)
0.2700 (4,1)
(1)0.0400
0.1100 (6,1)
4.0000 (8,1)
(15日1)0.2300
(1)4.0000
%……
0.2300 (106 1)
0.1069 (108 1)
0.2700 (109 1)
0.0400 (110 1)
0.1100 (111 1)
4.0000 (113 1)
0.2300 (120 1)
4.0000 (124 1)

答案(1)

弗雷德里克Hesselmann
弗雷德里克Hesselmann 2018年2月21日
编辑:弗雷德里克Hesselmann 2018年2月21日
我发现了两个问题。
函数的逻辑()并不关心是否x是整数。我提出的解决方案是不整数。这就是为什么我的测试使用的逻辑()没有正确。检查“isinteger (x)的也是必要的。
虽然这并不解释为什么我使用“intlinprog”但我知道结果是错误的,现在我要看看约束。我发现,由于数字削减一些违反平等。使用边界解决问题。
1评论
尼古拉Blasuttigh
尼古拉Blasuttigh 2021年12月1日
你好男人,对不起,可能我对切割位数也有同样的问题。你怎么解决它?与边界是什么意思?
谢谢

登录置评。

类别

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

社区寻宝

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

开始狩猎!