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.
%% BNB Call
% Initialize x0, Column Vector
x0 = [1];
% BNB variable types
% Continuous for xstatus(i)=0
% Integer for xstatus(i)= 1
% Fixed for xstatus(i)=2
xstat = [1];
% this problem has no inequality constraints
A = [];
b = [];
% this problem has no equality constraints
Aeq = [];
beq = [];
% Given Bounds in problem statement
lb = [ ...
0
];
ub = [ ...
31
];
% Set settings
setts = []; % Leave as default
% Set options
options = optimset('Display','iter','TolX',1e-4,'maxSQPiter',Inf)
%% Run the BNB Code!
[errmsg,Z,X,t,c,fail] = BNB20('FuncEval',x0, ...
xstat,lb,ub,A,b,Aeq,beq,'constraintEval',setts,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.
*** searched 0 % of tree
*** Z : Inf
*** t : 0.0 secs
*** c : 0 cycles
*** fail : 0 cycles
Optimization terminated: first-order optimality measure less
than options.TolFun and maximum constraint violation is less
than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
11 31
12 32
13 33
34
35
36
37
38
39
40
41
42
43
44
45
??? Error using ==> lt
Matrix dimensions must agree.
Error in ==> BNB20 at 247
elseif all(abs(round(x(K))-x(K))<errx) & convflag>0
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