I used this package for portfolio optimization with threshold trade constraints. Thanks Koert for posting it! One suggestion for other users: the BNB GUI does not work anymore. So if you get errors with the last rows of BNB20, you can delete them:
%if ishandle(handleupdate)
% taghandleupdate=get(handleupdate,'Tag');
% if strcmp(taghandleupdate,'update BNB GUI')
% close(handleupdate);
% end;
% end;
%
% eval(['warning ',currentwarningstate]);

I had to dig into the code to get this sucker to work (sans GUI). Below is a matlab file for a function of a single variable in FuncEval with nonlinears in constraintEval. Also, note that you will get an error when it's done. You can either ignore it, or comment out the very last line of BNB20.m . If your function requires separate inputs other than x, put those in the call to BNB20 after options.

I'm trying to run a mixed integer nonlinear programming (MINLP) problem using BNB20. However, irrespective of the complexity of my algorithm, I'm always getting the following results. It would be great if anyone can explain this result.

I have a problem with this algorithm I start it like that
[errmsg,Z,X,t,c,fail] = BNB20(fun,para',[0 0 1 1 1 1]',[150 125 3 2 11 1]',ub',[],[],[],[],'problemconstraints',[],options,dmodel,SampMin,weight,constraints)
yet one of the parameters is assigned a negative value during the operation of the algorithm

liu bingbing

27 Sep 2008

very good!

Luo chengjin

16 Sep 2008

I think it's good!

Guo Xiaoyu

6 Sep 2008

Thank you very mucn

Sun Qiyue

5 Sep 2008

I can not work it out? the example is not so good and I always get the error: fun caused error

Yubin Bao

9 Jul 2008

easy to use

mark elec

8 Jun 2008

Does the algorithm support for non-convex problem ???

jacky LI

10 Apr 2008

the example is not good enough!

wang lingli

30 Jun 2007

study

Mojtaba Hajihasani

17 Apr 2007

Your proposed method suffers from big problem, beacuse in sub-problem you have brought the problem into continues domain.

asd sad

27 Dec 2006

Dingyu Xue

10 Nov 2006

Further suggestions
1) better to allow function handles
2) fine-tuning of the argument and results for integer variables:
2a. in the starting part of the function, give xlb(xstat)=ceil(xlb(xstat)); xub(xstat)=floor(xub(xstat))
2b. at the end of the function, X(xstat)=round(X(xstat))

Naresh Nandola

25 Aug 2006

Puthut Wibowo

2 Aug 2006

Hmmm......

Bess Bai

15 Nov 2005

Thanks! is there the manual for bnb.m (matlab) file?

kinky leung

4 Sep 2005

Thanks!But is it free?

shrinivas pradeep

21 Mar 2005

sir,
can you please send the manual for bnb.m (matlab) file.

Pradeep Shrinivas

4 Mar 2005

Dear sir,
Your work is excellent, we are using your work for our project.