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 Comments

Does it still happen if you do
[xx] = bintprog(zeros(2,1),-1*A,-100*ones(2,1),[],[],[1;1])
Zhe
Zhe on 21 May 2013
Edited: Zhe on 21 May 2013
It works when I do that.
I submitted a bug report for the time being.
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)

Sign in to comment.

Answers (0)

Asked:

Zhe
on 21 May 2013

Community Treasure Hunt

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

Start Hunting!