Strange behavior in bintprog

I'm running into a strange issue for bintprog for the following example.
A = [1000 0; 0 1000]
[xx] = bintprog(zeros(2,1),-1*A,-100*ones(2,1))
Optimization terminated.
xx =
1
1
^ this works but if either entry becomes large, the optimization is infeasible, for example:
A = [1000 0; 0 4000000]
[xx] = bintprog(zeros(2,1),-1*A,-100*ones(2,1))
The problem is infeasible.
xx =
0
0
Does anyone know what I'm doing wrong?
Thanks!

3 件のコメント

Matt J
Matt J 2013 年 5 月 21 日
Does it still happen if you do
[xx] = bintprog(zeros(2,1),-1*A,-100*ones(2,1),[],[],[1;1])
Zhe
Zhe 2013 年 5 月 21 日
編集済み: Zhe 2013 年 5 月 21 日
It works when I do that.
I submitted a bug report for the time being.
Zhe
Zhe 2013 年 5 月 21 日
After contacting technical support, the problem was that the default tolerance value was not high enough, by setting a smaller tolerance, the optimization will work:
option = optimset('TolRLPFun',1e-9);
[xx] = bintprog(zeros(2,1),-1*A,-100*ones(2,1),[],[],[],option)

サインインしてコメントする。

回答 (0 件)

カテゴリ

質問済み:

Zhe
2013 年 5 月 21 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by