Bug feedback

49 views
Skip to first unread message

liuyibing

unread,
Apr 24, 2013, 8:26:20 AM4/24/13
to yal...@googlegroups.com
hello johan:
well, I am testing the solver which I collected with help of yalmip.

x=sdpvar(1,1);
obj=x*x;
con=[];
con=con+[4>=x>=3];
ops=sdpsettings('solver','bmibnb','bmibnb.uppersolver','cplex','verbose',2,'debug',1);
sol=solvesdp(con,obj,ops);
if sol.problem == 0
    X = double(x)
    O=double(obj)
else
    display('Hmm, something went wrong!');
    sol.info
    yalmiperror(sol.problem)
end

This is the problem I use to test. But when the uppersolver of bmibnb is setted to CPLEX, the following errors are thown out:
Error using yalmip2cplex (line 25)
Nonlinear monomials remain when calling CPLEX. If you are using
OPTIMIZER, please report this and ask for a feature improvement.

Error in call_cplexibm_miqp (line 6)
model = yalmip2cplex(interfacedata);

Error in call_cplexibm_qcmiqp (line 8)
    output = call_cplexibm_miqp(interfacedata);

Error in global_solve_upper (line 54)
output = feval(uppersolver,p_upper);

Error in solve_upper_in_node (line 3)
[output,timing] =
global_solve_upper(p,p_upper,x,p.options,uppersolver,timing);

Error in branch_and_bound (line 200)
                                    [upper,x_min,info_text,numGlobalSolutions,timing]
                                    =
                                    solve_upper_in_node(p,p_upper,x,upper,x_min,uppersolver,info_text,numGlobalSolutions,timing);
                                    
Error in bmibnb (line 321)
    [x_min,solved_nodes,lower,upper,lower_hist,upper_hist,timing] =
    branch_and_bound(p,x_min,upper,timing);

Error in solvesdp (line 355)
    eval(['output = ' solver.call '(interfacedata);']);

Error in solvertest (line 6)
sol=solvesdp(con,obj,ops);

Besides, when I using the quadprogbb, the following errors are thown out:
Error using quadprogbb>cplex_bnd_solve (line 1835)
CPLEX solution status = 4

Error in quadprogbb>refm (line 1563)
     [xL,xU,tlp] = cplex_bnd_solve(AA, bb, INDEQ, LB, UB, idxU,'u');

Error in quadprogbb>standardform (line 908)
[H,f,A,b,Aeq,beq,LB,UB,cons,sstruct,tlp] =
refm(H,f,A,b,Aeq,beq,LB,UB,cons,sstruct);

Error in quadprogbb (line 291)
[H,f,A,b,E,cons,L,U,sstruct,timeLP] =
standardform(H,f,A,b,Aeq,beq,LB,UB,cons,options.tol);

Error in callquadprogbb>callsolver (line 56)
    [x,fval,time,stat] =
    quadprogbb(model.Q,model.c,model.A,model.b,model.Aeq,model.beq,model.lb,model.ub,options.quadprogbb);
    
Error in callquadprogbb (line 15)
solveroutput = callsolver(model,options);

Error in solvesdp (line 355)
    eval(['output = ' solver.call '(interfacedata);']);

Error in solvertest (line 7)
sol=solvesdp(con,obj,ops);

according to the above problem, I have checked your code step by step with breakpoints, I have found the CPLEX status 4 results the error, could you give me some advice?
Thank you!
sincerely!

Johan Löfberg

unread,
Apr 24, 2013, 8:56:38 AM4/24/13
to yal...@googlegroups.com
Thank you for the report. I can reproduce it here and will look into it

Johan Löfberg

unread,
Apr 24, 2013, 9:44:26 AM4/24/13
to yal...@googlegroups.com
Maybe stating the obvious, but I hope you realize that if cplex can be used as the upper bound solver, there is never any use of bmibnb to solve the problem, i.e., this bug will never occur in practically relevant cases (still, I will fix it)

liuyibing

unread,
Apr 24, 2013, 10:16:19 AM4/24/13
to yal...@googlegroups.com
Thank you very much. Besides, the above problem with the solver quaprogbb can not be hanled either. I changed the sdpsettings to"ops=sdpsettings('solver','quadprogbb','verbose',2,'debug',1);"
it still throw out some error. may this is a bug about quadprogbb. I have use breakpoint to go into the code, I found that the cplex status is 4, maybe the CPLEX has some bug?

Johan Löfberg

unread,
Apr 24, 2013, 12:50:16 PM4/24/13
to yal...@googlegroups.com
Why are you using nonconvex solvers to solve a trivial convex problem?

I would guess the reason quadprogbb fails on this problems is due to the triviality of the problem. It is simply to easy.
Reply all
Reply to author
Forward
0 new messages